openlayers-3相关内容

在以法律方式更改地图中心和缩放后如何重新加载WMTS Tiles?

我正在实现一项功能,供用户选择与地图上某个点相对应的列表项.我目前能够设置正确的地图中心和缩放级别,但是在我导致在地图上发生MouseWheelZoom交互之前,地图图块为空白.如何使WMTS图层更新到新的缩放级别和地图范围? 解决方案 原则上,更改WMTS源的tileUrlFunction将触发刷新,因为这将清除切片缓存.如果您很幸运,并且您的WMTS服务器正确使用了Etags,则只需再 ..
发布时间:2020-05-21 01:14:18 其他开发

OpenLayers 3中是否有一个"getZoomForResolution"?

OpenLayers 2曾经有一种getZoomForResolution方法,可以为您提供给定分辨率的缩放级别(或最接近的缩放级别). 对于ol.View对象,我在ol3中没有看到任何这样的方法.有没有一种方法可以利用ol.view当前拥有的东西来实现? 解决方案 这将为给定分辨率提供下一个最接近的整数缩放: function zoomForResolution(resolu ..
发布时间:2020-05-21 01:14:15 其他开发

如何使用OpenLayers 3在视图中旋转文本

我正在开发一个导航应用程序,它可以在地图上绘制计划的路线.计划路线由与直线相连的点组成.每个点都标有距离和方向.最初在地图上绘制路线时,我会以某种方式计算文本位置,而不会干扰线条-我使用offsetX,offsetY和旋转样式属性.不幸的是,当旋转地图视图时,未更改上述属性-文本未旋转.有没有一种方法,如何旋转带有视图的文本,以便将其保留在相对于该点的位置上?我已经尝试过rotateWithVie ..
发布时间:2020-05-21 01:14:11 其他开发

在OpenLayers中绘制具有定义直径的圆

我正在尝试编写代码,让我的用户在地图上定义一些点,一旦他们创建了一个点,程序应在该点周围绘制一个具有定义的直径(以千米或...为单位)的圆. 我可以指出一点,但我不知道该如何处理我所说的话. 以下是我想要的例子: 解决方案 使用以下函数在一个点周围创建圆点. //pass the //@pointX, //@pointY, //@radius of circle ( ..
发布时间:2020-05-21 01:14:09 其他开发

我们如何使用样式而不使用地图将OpenLayers 3功能渲染到画布?

问题: 我们如何使用样式而不是使用地图将特征渲染到画布上? 背景: 我有一个示例,该示例将几何图形渲染到画布上以纪念ol3样式,但仅在未构建版本的openlayers(ol-debug.js)上运行,并且因为它利用了私有函数(ol.vec.Mat4) 在以下情况下有效使用ol-debug.js 在以下情况下失败使用ol.js 一种选择是创建地图,添加矢量层,在要 ..
发布时间:2020-05-21 01:14:07 其他开发

node.js应用程序中的openlayers-3?

我对在node.js应用程序中使用ol3感兴趣(例如,用于读取GeoJSON的ol.format API).那是受支持的用例吗? 我问,因为仅仅运行npm install openlayers然后要求它似乎无法工作. var ol3 = require('openlayers')在正在寻找window.navigation对象的geolocation属性的代码上失败,因为window.nav ..
发布时间:2020-05-21 01:14:02 其他开发

如何在OpenLayers 3中删除侦听器

我对我的问题进行了副本在这里是stackoverflow的原因,因为在gis.stackexchange上,我所有的问题都没有引起任何关注-很多时候,我无法在那里找到简单问题的答案.因此,我现在的问题是如何删除以这种方式定义的侦听器: map.getViewport().addEventListener('click', function (e){ console.log("click ..
发布时间:2020-05-21 01:13:59 前端开发

动画前预加载图块

我目前正在制作一些动画(使用 ol.animation ,但有时这些动画的速度太快而无法显示平滑的缩放(瓷砖加载得不够快)-这是预期的行为.但是页面上的动画只有在查看者阅读了整个帖子(〜1分钟)后才开始,所以我认为我可以在不活动的时候预加载动画所需的图块. 是否可以预加载图层/地图的图块?我在想一些解决方案: 创建另一个视图并模拟第一层后面的动画 在可见图层的后面创建图层/地图克隆, ..
发布时间:2020-05-21 01:13:51 其他开发

无论如何,是否可以在单层上指定特征的z顺序?

我正在使用具有三个功能的单层,并且想指定z顺序,但是无论如何都无法正常工作. 根据我的理解功能,绘制的顺序与我添加的顺序相同,因此我尝试以相反的顺序添加,但对我来说不起作用. 添加功能的代码 var features=[]; jQuery.each(data.route, function (key, val) { var localfeature = new ol.Fea ..
发布时间:2020-05-21 01:13:48 前端开发

如何使用OpenLayers预缓存图块以进行日期动画

我正在为一段时间内的多层OpenLayers地图制作动画.我想预缓存ol.layer.tile磁贴以在日期之间进行平滑过渡.关于如何预缓存/预加载这些图块的任何建议? 解决方案 您将希望在这里依赖浏览器缓存.并且它要求您的服务器发送正确的缓存头,因此浏览器不会在每次请求时都重新获取图像.牢记这些前提条件,请按照下列步骤操作: 在源上调用ol.source.TileImage#getT ..
发布时间:2020-05-21 01:13:45 前端开发

Openlayers-3强制刷新地图

我有一个自定义样式,可在地图上显示/隐藏地图项,但是应用地图样式后,直到由于功能更新而刷新地图时,该样式才会激活,但是我需要它立即触发. 我尝试了map.render和renderSync(),但是它们什么也没做. mapResize()似乎也没有执行任何操作,但是如果我等待功能更新或移动地图,它将起作用. 有什么想法吗?无论功能更新如何,我如何强制地图按需重绘? 解决方案 我 ..
发布时间:2020-05-21 01:13:43 其他开发

检查点是否在OpenLayers 3中的多边形内

当我在OpenLayers地图中绘制多边形时,我想知道标记是否在多边形内.我搜索了OpenLayers API,但没有找到解决方案. 您可以在此链接中看到我的完整代码. 我觉得我必须修改此功能: function addInteraction() { var value = typeSelect.value; if (value !== 'None') { ..
发布时间:2020-05-21 01:13:41 前端开发

在ol3中显示WFS图层

我正在使用geoserver和openlayers 3,我在geoserver中有一个托管层,我想使用ol3作为wfs层进行显示.它没有显示任何错误,但是我没有得到地图.它适用于wms,但不适用于wfs. 我正在使用Wamp服务器托管我的应用程序. 请有人能帮我解决这个问题吗?这是我的代码: var v=new ol.layer.Vector({ source: new ..
发布时间:2020-05-21 01:13:38 其他开发

OpenLayers:如何检测地图视图是否已完全加载?

我正在使用OpenLayers 3实现地图导出功能. 但是有一个问题:无法确定地图视图是否已完全加载或缺少一些图块. 似乎没有这样的API或事件.最接近的是tileloadstart-tileloadend对.但是OpenLayers会异步加载磁贴,并且在磁贴实际加载之前不会触发tileloadstart-也就是说,在磁贴队列中排队的磁贴在实际加载之前不会触发事件. 我能检测到地 ..
发布时间:2020-05-21 01:13:36 其他开发

Openlayers 3:向功能添加文本标签

我在这里有当前设置:功能齐全的小提琴示例缩放到每个多边形要素我还想在每个多边形要素上显示一个集中的文本标签...在get_fields方法中找到的field_title变量.我不知道如何执行此操作,因此我所有的搜索都与这篇文章有关:解决方案 要将文本添加到ol.Feature,您将说明存储在功能部件中,并样式功能(将从功能中获取描述并进行显示): field_polygon.set('de ..
发布时间:2020-05-21 01:13:33 前端开发

Openlayers 3:以编程方式选择功能

我正在尝试将系统从Openlayers 2升级到Openlayers 3,但有一个我似乎无法弄清的特殊问题. 我的应用程序有一个网格和一个地图,当用户单击网格时,我想在地图上选择相关点. 在Openlayers 2中,我使用了以下内容: self.selectControl.select(feature[0]); 我无法找到或理解如何在Openlayers 3中执行相同的操作 ..
发布时间:2020-05-21 01:13:31 其他开发

将点转换为纬度

我想知道如何获取地图点击事件的经纬度坐标? 这是我的代码: map.on('click', function(evt) { var element = popup.getElement(); var coordinate = evt.coordinate; var latLon = ol.proj.transform(coordinate, 'EPSG:385 ..
发布时间:2020-05-21 01:13:29 其他开发