jjzjj

OpenLayers3

全部标签

javascript - 在 OpenLayers 中删除图层

我不知道为什么这不起作用。我想答案很简单。在添加新层之前,我需要删除一层。if(graphic){window.map.removeLayer(graphic);}vargraphic=newOpenLayers.Layer.Image('Sightline'+''+SC,url,newOpenLayers.Bounds(derWesten[0].firstChild.nodeValue,derSueden[0].firstChild.nodeValue,derOsten[0].firstChild.nodeValue,derNorden[0].firstChild.nodeValue

javascript - 检查一个点是否在 OpenLayers 3 中的多边形内

当我在OpenLayersmap中绘制多边形时,我想知道标记是否在多边形内部。我在OpenLayersAPI中搜索,但没有找到解决方案。你可以在这个link中看到我的完整代码.我的印象是我必须修改这个功能:functionaddInteraction(){varvalue=typeSelect.value;if(value!=='None'){draw=newol.interaction.Draw({source:vectorSource,type:/**@type{ol.geom.GeometryType}*/(typeSelect.value)});map.addInteracti

javascript - 如何以编程方式移动 OpenLayers Vector?

OpenLayers.Feature.Vector的API文档说Vector本身根本没有方法。我知道如何让用户通过添加OpenLayers.Control.DragFeature来移动Vector控制映射。因此,如果用户可以移动Vector,那么也必须有一种以编程方式移动它的方法。但我不知道该怎么做。 最佳答案 你移动一个OpenLayers.Feature.Vector通过在其geometry上调用方法来对象对象,而不是向量本身。这些方法包括移动、旋转、调整大小和变换。请注意,您不会在OpenLayers.Geometry基础对象

javascript - Openlayers/Openstreetmap 背景是垂直条纹和压扁的

因此,我的openlayers实现的背景似乎被压成垂直条纹。奇怪的是,它并不总是这样,但即使我将所有更改存储回我知道它正在工作的地方,它仍然是坏的。这让我想知道瓷砖Assets的交付方式是否发生了变化。我已经尝试在使用osm和wms层之间切换而没有任何变化,我们将不胜感激。相关代码如下:initMap:function(){varview=this;varmap=this.map=newOpenLayers.Map();map.render(this.$map[0]);varwmsLayer=newOpenLayers.Layer.WMS("OpenLayersWMS","http:/

javascript - 在 Redux 架构中集成 React 和 OpenLayers

我们公司目前正在开发一种新的网络map解决方案。到目前为止,我们决定使用React构建应用程序和OpenLayers4.因为我们要使用Redux我们架构的模式将有一个保存应用程序状态的redux存储。这个栈我们面临的问题如下:map是我们应用程序的核心元素,它的实例需要传递给许多不同的组件。例如,在map上绘制要素的工具需要引用map实例,以便它可以将自己作为交互工具添加到其中。我们讨论了如何构建我们的应用程序以集成OpenLayers与React以最可靠的方式并最终采用两种不同的方法:我们讨论的第一种方法是在应用程序范围的redux存储中保存对map对象的引用,这样它就可以通过@co

javascript - OpenLayers 在屏幕上显示所有标记

如何获取map上的所有标记以便用户可以看到所有标记?我有一些标记。我在map上显示它们。中心LonLat我从我所有标记的lon和lat的最高和最低数字的平均值中得到。所以我使用以下方法将map设置为所有标记的中心点:map.setCenter(centerLonLat,8);8只是一个随机的缩放级别。有什么方法可以计算出完美的缩放级别,以便所有标记都显示在map上吗? 最佳答案 OpenLayers提供了一种类似的方法来避免循环getDataExtent()functionhere.您需要将它应用到包含标记的图层上:varnewBo

javascript - 如何从 OpenLayers 中获取 map 的当前视口(viewport)作为几何体、边界框或 wkt?

我试图找到一些提示,我应该在哪里搜索这个主题,但我什么也没找到-我在这上面花了很多时间。我还试图从OpenLayersmap中获取当前显示视口(viewport)的当前坐标,以仅添加当前视口(viewport)的当前边界框中的这些矢量。 最佳答案 对于OpenLayers2:Map.getExtent()...将返回一个Bounds,然后您可以使用它以多种方式获取纬度/经度坐标:http://dev.openlayers.org/apidocs/files/OpenLayers/BaseTypes/Bounds-js.html#Op

javascript - 如何删除 OpenLayers-Map 中的标准控件?

我使用OpenLayers并想在左上角创建另一个导航控件。我知道如何添加控件,但在创建OpenLayers-Map时默认添加此导航。所以我想删除那个控件,添加一个自己的控件。我已经知道,默认控件是OpenLayers.Control.PanZoom。 最佳答案 map对象有一个名为controls的属性,它是OpenLayers.Control对象的数组。如果未明确设置此属性,则OpenLayers将假定您需要默认控件集,包括OpenLayers.Control.Navigation()、OpenLayers.Control.Pan

javascript - 有没有办法在 OpenLayers 3 中禁用旋转?

我目前正在将我的OpenLayers2Mapview升级到OpenLayers3。我真的很喜欢新的OpenLayers客户端,但我想停用在移动设备上旋转map的功能(用两根手指旋转)。但是我找不到这方面的任何设置。这是不可能的还是我只是愚蠢地找到设置?我使用的是openlayersjavascript客户端的当前发行版(3.0.0)。(https://github.com/openlayers/ol3/releases/tag/v3.0.0) 最佳答案 是的,有一种方法可以停用旋转map的功能。您需要自定义ol.Map对象的交互。您

javascript - 强制 OpenLayers Markers 图层在顶部绘制,并在下方选择图层

我有一个OpenLayersmap,其中依次包含栅格基础层、矢量图层和标记层。它们显示良好,顺序正确,标记位于矢量顶部,非常棒。但是当我添加一个SelectFeature控件并将其指向矢量图层时,它突然被绘制在标记层上方,尽管所有努力都提高了标记层或设置了Z索引。SelectFeature控件似乎覆盖了所有绘图顺序设置。这是设计使然,还是我可以通过某种方式克服它?图层定义:varbaselayer=newOpenLayers.Layer.WMS('Norden','http://{myarcgisserver}/ArcGIS/services/mylayer/MapServer/WMS