问题标签 [openlayers-3]

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 回答
278 浏览

javascript - OpenLayers 3,使用 iPad 查看时标记出现在不同位置

我有一个 OpenLayers3 地图,在包含标记(特征)的矢量图层之上显示静态地图图像。在笔记本电脑或 PC 上查看地图时,这些功能可以很好地显示,但在 iPad 上查看地图时,标记标记似乎有某种偏移(因此它们无法与地图正确对齐)。我正在使用像素投影。有人知道为什么会这样吗?我已经在多种不同的浏览器(iPad 上的 Safari 和 Chrome)上进行了测试,我得出的结论是这不是浏览器问题。

0 投票
6 回答
6629 浏览

javascript - 无法在 Bootstrap 模式中显示 OpenLayers 3 地图

尝试在模态中显示 ol3 地图时似乎存在一个奇怪的错误。地图处于模态但不显示。但是,手动调整窗口大小会强制它显示。这是一个尝试了解我的意思的链接。单击每个地图中的设置下拉菜单。单击“获取功能信息”。这将切换带有地图的模式(但不显示)。调整窗口大小。瞧!

我尝试了很多方法来使用 javascript 和 jQuery 来触发 resize 事件:

帮助?

0 投票
2 回答
11161 浏览

javascript - OL3:强制重绘图层

我目前正在使用新版本的 OpenLayers OL3 升级 OpenLayers 客户端版本 2.13.1。我的设置包括作为 WMS 映射服务器的 Mapserver 和前面提到的 OpenLayers 客户端。

在旧系统中,我支持用户交互,如果用户单击地图的某些部分,则地图文件会再次生成,因此我强制重绘图层以使地图的某些部分着色。OL2版本代码示例:

我想在 OL3 中获得相同的功能,但没有重绘功能。我发现了两个有用的函数,但是为了获得相同的功能,还需要做一些额外的事情:- layer.getSource().updateParams(params); 和 - map.render();

我还创建了一个稍微复杂一点的示例,在该示例中我可以让代码正常工作,但是获取 WMS 切片的请求包含附加参数作为获取唯一请求的关键。示例代码如上:

好的,就是这种情况,我只想问是否有任何可用的功能,可以强制重绘图层,而无需在 WMS 请求中添加额外的参数?AFAIK“问题”是浏览器缓存图像,如果请求相同,那是以前,浏览器再次显示旧图像。

谢谢你的帮助。

0 投票
2 回答
1782 浏览

javascript - 如何在 OpenLayers 3 中获取当前的中心图块?

我试图找出 OpenLayers 3 中当前居中的图块。

我可以使用 获取当前位置为纬度/经度map.getView().getCenter(),缩放级别为map.getView().getZoom()

我应该手动将其转换为地图图块,还是 OpenLayers 3 提供了一种功能来轻松计算正确的图块 x/y 索引(中心纬度/经度所在的索引),或者我应该通过以下方式计算我?

0 投票
1 回答
798 浏览

javascript - 打开第 3 层:如何在并排地图上取消绑定 bindTo 事件?

我正在尝试通过在其官方页面上构建此示例代码来解开 Open Layers 3 中的并排地图:

http://ol3js.org/en/master/examples/side-by-side.html

我想调用取消绑定地图的页面。到目前为止,我尝试使用此处记录的“unbind”和“unbindAll”调用:

http://ol3js.org/en/master/apidoc/ol.Object.html

我已经尝试了以下每个调用,但都没有奏效:

...有什么我应该尝试的建议或替代方案吗?

0 投票
1 回答
5757 浏览

openlayers-3 - OpenLayers 在静态图像上设置叠加位置

我使用静态图像使用 OpenLayers 3 创建了一个地图。它使用假投影,因此地图可以用来正确显示以像素为单位的图层。这是代码:

我试图添加标记覆盖以添加更多交互但是我正在努力指定位置并且标记位于地图之外,而不是在我想要放置它的位置之内。

我对此很陌生,所以如果有人知道如何正确设置位置,我将不胜感激。

0 投票
3 回答
4936 浏览

javascript - 在 OpenLayers 3 中选择功能时是否有事件?

http://ol3js.org/en/master/examples/select-features.html

鉴于上述示例,选择功能时有哪些扩展点可以挂钩?

0 投票
1 回答
617 浏览

openlayers-3 - 在ol3中获取拖放kml文件的样式

玩弄 ol3 来创建一些自定义地图。

我拖放从 Google Mymaps 导出的 KML 文件,效果很好。我想获得它附带的样式,以便我可以更改它们,例如笔触颜色。

我看到使用feature.getKeys有一个名为 styleUrl 的键,使用feature.get('styleUrl')我看到它的值是#style5

我怎样才能从那种风格中获得笔触颜色?

我用 Chrome 控制台浏览了所有我能想到的东西,但无济于事。

0 投票
2 回答
1862 浏览

javascript - Ol3 特征的唯一标识符

我正在尝试创建一些自定义地图。由于拖放功能,我正在使用 ol3。这个想法是能够为地图上的每个特征设置样式。

我拖放从 JOSM 导出的 .gpx 和 .json 文件,并为每个功能创建一个独特的叠加层。

我可以使用该叠加层上的样式功能更改笔触颜色等。这一切都很好,直到我做下一次下降。

被丢弃的特征似乎以某种随机顺序出现,并与前一次丢弃的特征穿插在一起。我需要有一些方法来判断该删除操作中哪些新功能是新的,这样我就可以在不影响我已经设置样式的情况下对这些功能进行样式设置。

我可以从该功能中获得某种唯一标识符吗?有没有办法可以用唯一的 id 标记功能?

我尝试了 feature.getId() 但在拖放事件触发时未定义。

0 投票
1 回答
1789 浏览

javascript - 如何防止图像在 openlayers 中缩放时调整大小?

执行此操作时,我在地图上得到两个点,但是当我缩放图像时,图像变得更小。

如何保持图像的大小固定?下面是javascript代码。