问题标签 [openlayers-5]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1010 浏览

javascript - Openlayers 5 添加特征图

我想添加一个像矢量特征这样的图像来映射。现在我使用这段代码:

预览的结构如下:

在 Openlayers 2 中,有一种将图像添加到矢量轮廓的解决方案:

我需要使用哪些类来向图层添加超过 1 个图像特征?

0 投票
1 回答
581 浏览

openlayers - 在 Openlayers 中保持多边形大小相同

我创建了一些代码来在 Openlayers Map 中创建两个多边形,并在缩放时尝试保持大小相同,但是当我缩小地图时大小也在减小。我的意图是使用多边形作为站点标记。您能帮我使用多边形作为站点标记并在缩小和放大时保持大小相同吗?

我已经使用包裹捆绑器来创建测试版本。我在您的站点中看到了 OverLay 示例,其中标记在放大/缩小地图时保持相同大小,同样我正在寻找使用多边形作为站点标记的可能性。

为简单起见,我删除了以下 JS 代码的导入部分。

下面是JS代码:

2018 年 8 月 31 日添加的更改:

当我放大地图以保持多边形的大小相同时,我正在尝试更新坐标

0 投票
3 回答
9909 浏览

openlayers - 在 OpenLayers 5 中向地图添加功能

我在 HTML 中有以下代码

它不显示任何点,只显示地图。在控制台中,我收到错误“ol.geom.point 不是构造函数”。此代码主要基于本教程 https://medium.com/attentive-ai/working-with-openlayers-4-part-2-using-markers-or-points-on-the-map-f8e9b5cae098

0 投票
1 回答
2172 浏览

javascript - OpenLayers 中图标的奇怪问题(不显示 svg 图标,而类似图标显示)

我对以下代码有一个奇怪的问题

我不明白为什么“setStyle”不在“stoneVectorLayer”上显示图像图标。一切都与其他两个有效的矢量图层相同。标记在那里,因为当我删除“setStyle”时我可以看到它们。“setStyle”以某种方式起作用,因为它使这些标记消失或至少不可见,但我不明白为什么它不显示图标。

我做了一些测试,看起来图像有问题。当我把它放在那里时,有些图像可以工作,但有些则不能。此代码中使用的图像也不适用于其他图层,所以问题是为什么 OpenLayers 不渲染某些图像?相同图标的 .png 副本也不起作用。

该图标也可以在 Edge 浏览器中正确显示,但在 Firefox 中不正确。

0 投票
1 回答
1206 浏览

typescript - Typing support for ol v5.1.3 needed

When will there be typing support for ol? I am using this inside an angular app and could really use an @types/ol. The current @types/ol out there just imports from @types/openlayers and the types dont quite match up from v4 to v5.

0 投票
1 回答
1542 浏览

openlayers - ol.tilegrid.WMTS.WMTSTileGrid 不是构造函数

NodeJS 的所有示例 OL5。

对于浏览器代码,我转换import OSM from 'ol/source/OSM.js';ol.source.OSM(), import WMTS from 'ol/source/WMTS.js';tool.source.WMTS等。

但是创建WMTSTileGrid对象不起作用。

我愿意 -new ol.tilegrid.WMTS.WMTSTileGrid(.... 但浏览器说

如何创建WMTSTileGrid对象?我哪里错了?

我的代码:

0 投票
0 回答
216 浏览

css - Angular App 中的 Openlayers Fullscreen 在 Firefox 中有效,但在 Chrome 中无效

我在现有的大型 Angular 5/Ionic 3.9 应用程序中包含了一张地图。使用 Openlayers 版本 5.0.2

我还需要包括全屏视图。

在 Firefox 中,全屏视图有效。在 Chrome 中,切换到全屏可以工作,但没有加载地图,地图的 div 也不存在。

我试图将 FullScreen 的源设置为具有 id/class fullscreen 的 div

我也尝试了几个像这样的css修改

虽然检查 html 页面 chrome 显示: Chrome 全屏元素

火狐显示: 火狐全屏元素

但是没有任何效果,我不知道我可以尝试什么。


只是对上述问题的跟进,全屏在 Firefox 中工作,但在 Chrome 中没有。使用新版本的 Chrome,该缺陷已得到修复,现在可以正常工作。

0 投票
1 回答
3908 浏览

dom - 如何在 OpenLayers 中的地图上放置 HTML 元素

我正在使用 jQuery 3.21 开发 Openlayers 5.13。我正在尝试div在 openlayers 中的地图视口上放置一个 html 元素。这个元素应该有两个复选框来过滤掉地图上的一些内容。为此,我正在使用一个Overlay实例。有两个问题:1)当我放大或缩小时,叠加层的大小会增加和减小,这不是我所期望的。我希望该叠加层(html div 元素)保持其大小。

2)我不能放弃弄清楚如何将叠加层放在右上角。覆盖是用position我不知道要设置什么的属性实例化的。

我也不知道如果覆盖是我应该寻求在地图上显示一些静态元素。(我高度怀疑覆盖是正确的方式)

这是我的代码:css-

html -

脚本 -

这是我当前的输出: 电流输出

这就是我所期待的,一个固定在某个位置的元素:

预期的

参考 - [ http://openlayers.org/en/latest/apidoc/module-ol_Overlay-Overlay.html]

0 投票
1 回答
313 浏览

openlayers-5 - openlayers 5.2无法读取未定义的属性“boundingExtent”

从 ol 4.6.5 升级,试图找出边界范围的正确语法。我正在使用 Angular 5 并收到错误无法读取未定义的属性“boundingExtent”。该代码在 4.6.5 中使用(具有适当的命名空间)并措辞

我已导入范围

从“ol/extent”导入范围;

代码片段如下:

如果我调试代码,范围是未知的。我确实看到了一个叫做 extent_1 的东西,它确实有 boundingExtent 函数

0 投票
1 回答
273 浏览

openlayers - Openlayers - 如何使用 declutter 选项获取渲染符号列表?

我在 OpenLayers v5 中添加了带有“declutter”选项的矢量图层。
源特征是 500(五百),渲染结果几乎是 50(五十)。
渲染后,我只想从图层实例中获取五十个渲染列表。
我知道“forEachFeatureAtPixel”API,但它只能捕获单个像素点。

有什么办法可以得到这个列表?