我正在开发一个应用程序,其中一部分使用OpenLayers(调用Geoserver服务的WMS)来显示一些经常更新的数据(船只轨迹-或者更具体地说,一系列点)。我想以设定的时间间隔更新此船只轨迹-OpenLayers.Strategy.Refresh似乎是执行此操作的最合适方法。我稍微修改了wms.html示例(OpenLayers2.11)来尝试这个,即:underway=newOpenLayers.Layer.WMS("UnderwayData","http://ubuntu-geospatial-server:8080/geoserver/underway/wms",{'laye
我在openlayers3上工作,想实现一个搜索功能,它获取地点名称并在map上放置标记。我能够获得坐标,但是当我想在map上添加它的标记时,我总是得到不同的位置。输入地点的标记未放置在map的实际坐标上。这是我一直在研究的代码:functionaddmarker(lat,long,pointerimgsrc){variconFeature=newol.Feature({geometry:newol.geom.Point(ol.proj.transform([lat,long],'EPSG:4326','EPSG:3857')),name:'NULL'});variconStyle=n
我正在使用OpenLayersv3.6(这很重要,因为我发现的大多数解决方案都可能适用于OpenLayers2)。我有一个表格,当我在该表格中选择一行时,我想突出显示/选择OpenLayersmap上的相应要素。所有要素都是位于同一矢量图层(ol.layer.Vector)中的简单多边形(ol.geom.Polygon)。我像这样设置选择交互://thereisalotofothercodehere...addSelectListener:function(){this.SelectInteraction=newol.interaction.Select({condition:ol.e
我根据JavaScript在我的站点中包含了一个OpenLayers.Map:varmap=newOpenLayers.Map();varmapnik=newOpenLayers.Layer.OSM();map.addLayer(mapnik);一切正常。期望属性的位置(OpenStreetMap贡献者)。有没有移动右下角属性的选项?这是我目前得到的: 最佳答案 您可以覆盖此组件的默认OL样式:.olControlAttribution{left:5px;}您可以前往http://dev.openlayers.org/example
我有一个使用openLayer3的Javascript代码。我需要在angular2项目中使用Typescript实现此代码。有人知道如何将openlayer与angular2/Typescript一起使用吗?非常感谢,约翰 最佳答案 1。选项A(使用AngularCLI)在您的.angular-cli.json(位于您的项目根目录)中添加Openlayers3:..."styles":["../node_modules/openlayers/dist/ol.css"],"scripts":["../node_modules/ope
我正在使用图像通过OpenLayers显示我的map。我的JS代码如下所示:map=newOpenLayers.Map('map');varoptions={numZoomLevels:7,isBaseLayer:true,};varglobe=newOpenLayers.Layer.Image('GlobeESA','http://upload.wikimedia.org/wikipedia/commons/0/07/World_map_blank_black_lines_4500px.gif',newOpenLayers.Bounds(-180,-90,180,90),newOpe
是否可以从OpenLayers编写和保存KML?有人知道导出一个的例子吗? 最佳答案 您只能将矢量要素导出到KML。functionGetKMLFromFeatures(features){varformat=newOpenLayers.Format.KML({'maxDepth':10,'extractStyles':true,'internalProjection':map.baseLayer.projection,'externalProjection':newOpenLayers.Projection("EPSG:4326"
我正在尝试将静态图像图例放置在map顶部OpenLayersmap的右下角。我试过使用绝对定位的DIV,但它往往会被其他对象撞到(即使z-index很高)。有没有办法使用OpenLayersAPI来做到这一点?我注意到OpenMap有一个Layer.ScreenOverlay方法(http://openspace.ordnancesurvey.co.uk/openspace/example7.html),这正是我所需要的,但在我能找到的OpenLayers中不存在这样的方法。 最佳答案 我遇到过类似的问题,我想在OpenLayers
我正在使用OSM渲染map,我在为页面元素设置zIndex时遇到了一些严重的问题。部分JS如下所示:varuserRoute=newOpenLayers.Layer.Vector("KML",{sphericalMercator:true,styleMap:styleMap,rendererOptions:{zIndexing:true}});varmarkers=newOpenLayers.Layer.Markers("Markers",{sphericalMercator:true,rendererOptions:{zIndexing:true}});markers.setZInd
我们最近一直在将我们公司的map系统从Googlemap过渡到deCarta,然后再过渡到OpenLayers。我们发现,当许多元素(数千个)被添加到map(点击时带有气泡的图钉)时,OpenLayers和deCarta明显比谷歌地图慢。谷歌有标记管理器,它似乎使它更快,但我无法弄清楚它是如何减少内存使用量或使它表现得更好的任何东西。这让我抓狂,因为我们对OL和deCarta做的事情与我们对Google做的一样,而其他人的速度太慢了。有没有人有使用这些系统的经验?我知道Google是map技术领域的巨人,因此向该系统投入了大量资金,因此速度更快也就不足为奇了。如果可能的话,我只想知道怎