问题标签 [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 投票
1 回答
2099 浏览

javascript - 在开放层3中获取给定特征的层

如何在开放层 3 中获得要素层?

过去版本的开放图层在每个要素上都有一个图层属性。这使得将特定于图层的样式应用于功能或按图层组织功能变得容易。

开放层 3 缺少此属性。我正在使用ol.map.forEachFeatureAtPixel来获取悬停功能。

0 投票
2 回答
10074 浏览

openlayers-3 - 打开第 3 层:如何为修改交互创建侦听器

我设法设置了修改交互。

ol.interaction.Modify ( http://ol3js.org/en/master/apidoc/ol.interaction.Modify.html ) 的文档没有提及修改功能时触发的单个事件。

不像 ol.interaction.Draw ( http://ol3js.org/en/master/apidoc/ol.interaction.Draw.html ),它工作得很好。

修改功能后,我需要更新数据库中的坐标。

如何设置监听器?

0 投票
4 回答
4942 浏览

javascript - 固定大小的图标。开放层3

我正在使用OpenLayers3库。我想有固定的图标大小。我正在使用此代码设置大小 38x38px:

我在萤火虫中有一个错误:

IndexSizeError:索引或大小为负数或大于允许的数量

怎么了?

0 投票
2 回答
2439 浏览

javascript - 将 ajax 响应转换为 ol3 GML 层

我正在尝试使用 OpenLayers3,但遇到 getfeatureinfo 请求时遇到了困难。我正在尝试通过 ajax 来实现,并将响应转换为 GML 层,就像在 OpenLayers2 中一样。

我正在使用的代码如下:

我知道 ajax 给了我正确的响应,并且在 openlayers 2 中我会使用以下命令:

这是我从 getFeatures 请求返回的内容:

我想要做的是读取响应并将其写入弹出窗口,但我希望响应作为 GML 功能。

0 投票
2 回答
2472 浏览

openlayers - 更改 OpenLayers 中瓦片的外观(使用 OSM 地图)

我想使用 OSM 地图,我决定使用 OpenLayers。

我看过这个例子: http: //openlayers.org/dev/examples/osm.html

我能够得到如下结果:

在此处输入图像描述

但我希望我的地图看起来更像这样:

在此处输入图像描述

我指的是样式、颜色和细节,而不是控件(我知道如何添加自己的控件、标记等)。

我想做一些改变,比如:将背景设为绿色,其他灰色阴影中的建筑物带有 1px 黑色轮廓,从主要街道上移除黄色,隐藏火车铁轨和停车位等等。

如何实现?所有这些更改都必须通过样式化 OSM 地图来进行,并且不能在“后期处理”中完成(例如,可以在获取地图后将整个地图更改为灰度)。

我的示例代码(基于 OpenLayers 示例之一):

0 投票
1 回答
3029 浏览

javascript - Set extent of view in OpenLayers 3

I've just started having a look at OpenLayers 3 and am attempting to zoom to a single feature whose extent is to be a geoJSON object sent by the server (which will change at each refresh, so I can't hard code the zoom/central point). I would like this to happen preferably as soon as the page loads, but I'm struggling to get it to work.

在我尝试从 geoJSON 对象读取几何图形的行中,我不断收到一条错误消息,提示“未捕获的 TypeError:未定义不是函数”,但我不确定如何修复它。geoJSON 字符串看起来不错(我也尝试在将其传递给 readGeometry 之前对其进行解析,但结果相同)。

如果有比我现在更容易/更快的方法来做到这一点,我也很想听听!任何帮助是极大的赞赏。

0 投票
0 回答
876 浏览

ajax - 如何使用 openlayer 3 的 ServerVector 响应创建多边形

此代码可以正常加载地图,但我想从 json 创建多边形并通过 ajax 请求(在 json 数组中)获取数据。

我是 openlayer 3 的新手。我不知道如何从 ajax 请求获得的 json 数据创建多边形。

如果您知道任何其他方式,请建议我(但只能使用 openlayers 3)。

0 投票
1 回答
3741 浏览

javascript - OpenLayers: how to turn on visibility of a layer?

I can not understand what am I doing wrong ? I think I have written everything really well:

The HTML code goes like this:

and the Javascript is this:

I dont think the problem is with the if or passing the value,if I set true == true it still wont set visibility to true.I think there is a problem with triggering the function at the select tag.

Please check my external js file and tell me what is the problem?? I define all layers in init function which runs onbody load ??is tha thte problem? snk.to/f-cdh90xd4

0 投票
1 回答
1654 浏览

openlayers-3 - Openlayer 3 Vector KML 样式不再起作用?

我很早就在使用 OpenLayers 3。十天前,我用 OpenLayers 3 完成了一个包含地图的应用程序。但是今天我检查了应用程序,样式不再适用于KML. 有人有什么主意吗?

0 投票
1 回答
1915 浏览

canvas - 使用传单的画布渲染器渲染大型矢量图层的性能问题

我正在尝试通过传单中的画布渲染器渲染包含大约 3000 个多边形的地图,它在我的 PC 上运行良好,但是当我在 android 设备或 i-pod 上测试它时它非常慢(有时甚至崩溃)。我也尝试使用 openLayers 2 和 openLayers 3 渲染它,但即使这些都运行缓慢。值得注意的是,当我使用上述三个渲染引擎渲染一个大约 800 个多边形的地图时,leaflet 在这三个引擎中运行得最快,但是当数量增加到 3000 时它会挂起并崩溃。我使用 WKT 格式输入我的数据。传单代码如下 -

有人可以建议我解决这个问题吗?我应该使用任何其他渲染引擎吗?我应该使用任何其他输入数据格式(如 geoJSON)吗?谢谢。