问题标签 [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.
openlayers-3 - OpenLayers3 - 是否可以结合修改/绘制/选择操作?
我已经开始在我的应用程序中使用 OpenLayers3,到目前为止,我已经成功地创建了以下工作版本:
- 组合的绘制/修改页面(基于相关示例,
draw-and-modify-features.js
) - 组合的选择/修改页面(基于相关示例,
modify-features.js
)
在 (1) 的情况下,ol.interaction.Modify
实例指定它将作用于ol.FeatureOverlay
实例内部的特征:
...并且它ol.FeatureOverlay
包含了用户绘制的所有新功能。
在 (2) 的情况下,ol.interaction.Modify
实例指定它将作用于ol.interaction.Select
实例内部的功能:
...除非我弄错了,否则这会创建一个ol.FeatureOverlay
包含当前选定功能的隐藏项 - 然后对其进行编辑。
但是,我看不到一种结合所有 3 的方法 - 即一种允许用户绘制、选择和修改多边形的用户友好方式。
我(理想情况下)想要的是绘制/修改的功能,但是当我按下并按住 Ctrl 时,光标不再在“绘制”模式下工作,而是在“选择”模式下,允许我选择一个现有的多边形,然后点击键盘上的 Delete 将其删除,或者只用鼠标编辑其顶点。一旦我在所有多边形之外单击,我就会返回到绘制/修改模式。
我做了天真的测试——添加一个ol.interaction.Select
到绘制/修改地图实例的交互中——这会导致有趣的结果:-) 例如,在完成多边形的绘制时(即当我双击关闭它时)它也被选中...并单击任何位置(多边形内部或外部)只会启动另一个新的多边形边缘,它永远不会选择预先存在的边缘 - 等等。
到目前为止,我唯一想到的解决方案是......对我来说实现“VI 仿真”:-) 即“命令”模式(即选择/修改状态)和“插入”模式(即绘图/modify state) - 您从地图内的“状态切换”按钮(自定义 OL3 控件)或地图外(普通的 HTML 按钮)中选择了您所处的模式。
但是,我正在寻找一种更好的方法,例如我建议的按住 Ctrl 的方法...
欢迎任何想法/建议。
javascript - 解构 Open Layers 3 地图
所以,我正在使用带有 Ember.js 的 Open Layers 3 来制作仪表板,并且我已经动态加载了地图,但我希望它在我离开路线时被销毁,我发现的唯一东西是 map.destroy()但它适用于旧版本的 API,新版本中似乎没有。
几次转到地图页面后,我使用了 chrome 调试器,发现我有 29 个 ol.Map 对象。
这是我到目前为止所拥有的
我在文档中找不到有关删除地图的任何内容。
提前致谢。
javascript - 如何在openlayers 3中更改悬停光标?
我设法向从远程 GeoJSON 资源添加的要素图层添加交互性。当我点击一个功能时,我会得到它的 ID,触发一个 AJAX 请求并在地图区域之外的页面上显示一些有关该功能的相关信息。
我使用了Select
交互。
我想让用户更清楚地知道他可以点击地图上的功能。当鼠标悬停在 a 中包含的功能时,有什么方法可以将鼠标光标更改为“手”的“光标” ol.layer.Vector
?
我在文档、本网站或谷歌搜索中找不到任何内容。
javascript - 在开放层 3 中设置矢量样式
我正在使用 ol3 中的向量层,并且对 API Docs 确实缺乏进行了罚款。
唯一可用的参考是ol.style中显示的默认样式
这是我到目前为止所拥有的,取自示例和跟踪和错误
为什么会有数组?
如何更改字体大小?“字体大小”:和大小:没用
我应该查看其他一些文档吗?
我迷路了。
javascript - 在隐藏元素中绘制 OpenLayers 3 地图
我正在写一个页面,您可以在其中查看有关区域和地图的详细信息。详细信息在一个选项卡上,地图在另一个选项卡上。HTML 的相关部分如下,类来自Bootstrap。
切片图层来自 OSM,矢量图层通过提供 KML 文件的 URL 加载。它使用OpenLayers 3.0.0执行此操作,如下所示:
这会在单击地图选项卡时呈现地图,从而导致小的延迟。即使未选择选项卡,有没有办法加载它?如果我尝试这样做并且在选择地图选项卡时不重绘,那么当我切换到地图选项卡时画布是空白的,并且只显示放大和缩小按钮。
有没有办法在不可见的元素中渲染地图?
javascript - OpenLayers 3:如何使用.png上可见的地图ScaleLine导出地图
这一切都在标题中,我想导出一张地图,地图的比例在导出的 png 图像上可见。
这是我在屏幕上看到的:http: //image.noelshack.com/fichiers/2014/39/1411732313-default.jpg
这是我导出的 png:http: //image.noelshack.com/fichiers/2014/39/1411731619-img12180dxn777.png
我想要 png 图像,地图的比例是可见的,就像我在 OpenLayer 屏幕上的图片一样。
任何人都知道该怎么做,或者OpenLayer还不可能吗?
这是我用来在地图上添加比例的基本代码:openlayers.org/ol3-workshop/controls/scaleline.html
这是我用来导出地图的代码:openlayers.org/en/v3.0.0/examples/export-map.js
预先感谢您的回复
javascript - OpenLayers 3:如何计算两点之间的距离?
使用 OpenLayers 3,如何确定 Spherical Mercator (SRID: 3857) 投影中两点之间的距离?
我知道distanceTo
在 OpenLayers 2 中使用过
我浏览了OpenLayers 3 文档,但没有找到类似的东西......
javascript - 将悬停 SelectInteraction 与 ol.events.condition.mouseMove 一起使用时,拖动地图在 OpenLayers 3 中丢失
我已经调整了OpenLayers 3 选择功能示例,以在用户指向某个功能(取自 GeoJSON FeatureList)时获得悬停效果,但我失去了拖动地图交互。
有没有办法在不牺牲拖动/平移交互的情况下在悬停时产生特征样式更改?
当您将操作类型设置 为 Hover 时,您可以在链接的示例中看到相同的问题。
openlayers 3 邮件列表中有一个未回答的问题
openlayers-3 - “一组ol.style.Style”有什么用?
ol.layer.Vector的样式可以设置为ol.style.Style
,样式函数或数组ol.style.Style
。ol.style.Style
与仅传递对象相比,数组的用途和作用是什么?
我在官方API 文档和教程中都找不到这方面的任何信息。
mapserver - 如何从 MapServer Source 在 Openlayers 3 中创建 WFS 层
我还没有找到如何在 OpenLayers 3 中通过 WFS 处理 MapServer、特定向量的示例。如果有人可以提供示例,将不胜感激。
例如:这就是我在 Openlayers 2 中通过 WFS 请求从 MapServer 创建矢量图层的方式:
OpenLayers 3 中的等价物是什么?