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

gis - 如何从地理服务器中的图层获取样式

我想从 sql 视图层获取样式(sld 或 css 无关紧要,但更喜欢 css),但我无法实现这一点。这是我的层的 sql 视图

这是我的风格:

当我预览图层时,出现以下错误:

有没有办法从数据库中获取样式信息?

0 投票
1 回答
400 浏览

openlayers-5 - 在 Openalyers 5 中获取所有图层的范围

我正在尝试做一项非常琐碎的活动:将地图拟合到所有图层的范围内。

但我被困住了:

这是我的代码:

我总是得到 getExtent() 为空。我也试过 l.getSource() 然后 getExtent(),但没有运气。我究竟做错了什么?

谢谢马西莫

0 投票
1 回答
117 浏览

openlayers - 选择交互停止

我正在寻找一种方法让 PointerInteraction/DrawInteraction 的“stopDown”功能适用于 Select 交互。我在地图上有一个随附的单击侦听器,当将选择交互添加到地图中时,该侦听器不应发射。

我试图在 click/pointerdown/pointerup 时停止事件传播,但它似乎阻止了任何地图平移工作。

如何完成 Select 交互的“stopDown”?

0 投票
1 回答
156 浏览

openlayers - OpenLayers 自动设置线条特征的样式

有什么方法可以自动设置从 GeoJSON 文件中读取的每个特征的样式,并以不同的方式用作矢量图层的源?我附上了一个屏幕截图:这种乱七八糟的绿线特征不仅令人困惑。每行随机分配不同的颜色会很好。谢谢你的帮助!

在此处输入图像描述

编辑:添加代码

在这里,您可以找到我用于此表示的相关代码。您可以看到我将green颜色定义为 LineStrings,但我想知道如何自动将不同颜色分配给 LineStrings。

0 投票
1 回答
711 浏览

openlayers-3 - 矢量切片:GetTile WMTS ol.format.MVT() with Openalyer v5.3.0 From Geoserver

我在 Geoserver(2.13.0) 上有配置 MSSQL DataStore 的图层。我为同一版本安装了矢量切片扩展。安装后,通过从下拉结果中选择使用 TileLayers pbf 进行预览时正在显示。

并且当来自 OpenLayers 客户端的请求相同的结果即将到来时。

但在同一个示例中,我想使用 GetTile 为 wmts 应用样式。我根据文档尝试了 以下代码不起作用:

您能否建议我如何使用 ol.format.MVT() 从 GeoServer 应用我的自定义样式和 getTile?

0 投票
1 回答
449 浏览

openlayers-5 - 在 openlayers 5 中创建大圆圈

我需要创建一个 X 半径的圆,以米为单位,考虑地球的曲率。回到 OpenLayers 2 中,我们有destinationVincenty,它有助于从一个点计算目的地,同时考虑到角度。但是,这似乎在 OpenLayers 5 中缺失。

我已经测试了Cricle几何,但它太不精确了(查看图片)。

如何在 OpenLayers 5 中执行此操作?

蓝色圆圈的半径为 245 公里,但实际的 245 公里半径应该到 Sedalia 附近的红线附近。

蓝色圆圈的半径为 245 公里,但实际的 245 公里半径应该到 Sedalia 附近的红线附近。

0 投票
2 回答
2987 浏览

javascript - 通过 Mix 将 node_modules 导入 Laravel

我正在尝试在 Laravel 5.7 项目中使用 OpenLayers (v5.3.0),但是从 node_modules 导入 o​​l 时遇到了很多麻烦。

我安装 ol 如下(基于https://www.npmjs.com/package/ol):

然后我更新了我的 resources\js\app.js,它现在只包含以下内容:

编辑:我还在 resources\js\app.js 中尝试了以下操作,但没有成功:

我的 webpack.mix.js 包含以下内容:

我在一个名为 map.blade.php 的文件中也有以下相关行,我想在其中显示 OpenLayers 地图:

我也跑了npm run dev

在 Chrome 中进行测试时,我得到“Uncaught SyntaxError: Unexpected identifier”,指的是 map.blade.php 中的以下行:

编辑:我还运行了以下命令以确保安装了所有依赖项:

运行上述程序时我没有收到任何错误,但 Chrome 中的相同错误仍然存​​在。

编辑:我还尝试将 javascript 从我的 map.blade.php 转移到一个新文件(mapscript.js)中,然后将其导入 map.blade.php(在“map”div 之后),如下所示:

但后来我收到以下错误:

之后,我尝试将以下行移出 app.js 并移入 mapscript.js:

并且还尝试了相同的方法:

但同样的 Uncaught TypeError 在这两种情况下都存在。

我已经尝试过 Stack Overflow 和其他地方的很多类似问题的解决方案,我也尝试过在 npm 之外使用 ol ,但我没有找到任何可以为我解决问题的方法。我相信使用 npm 和 Mix 是在我的项目中构建 OpenLayers 的最佳方式,但我不知道为什么它不起作用。非常感谢一些帮助。

0 投票
2 回答
1634 浏览

openlayers - 如何下载地图选定部分的 OSM 图块

我想用 Openlayer OSM 图层的单​​个缩放级别离线下载地图的选定部分的地图。我有地图的四个角,即地图的显示部分。

但需要获取这四个角之间的所有图块图像或图块。我回顾了一些例子:

Openlayers获取鼠标下瓦片的图片url

https://gis.stackexchange.com/questions/167792/how-to-retrieve-the-tile-url-in-openlayers-3

但我需要在点击客户按钮时下载瓷砖。谁能帮帮我吗。

0 投票
1 回答
56 浏览

openlayers - OL Mapview:提供的边界没有被使用........为什么?

当我为 mapview 提供 leftbottom 和 righttop 坐标时,这些并没有完全使用。由此产生的差异非常大。我错过了什么?!

地图视图获得新的(“更大”)界限,但不是上述界限。“新”边界是 [-6.837646484374999,47.32226629045806,17.837646484375,56.461134011735425]

我怎样才能让地图坚持提供的地图?

编辑:我已经根据 Mike 的评论调整了代码(谢谢!!)。** 实现我想要的最佳方式是什么......即显示位于具有上述左下和右上(LON/LAT)坐标的边界框内的地图部分?**

0 投票
1 回答
2709 浏览

javascript - 将文本添加到标记(功能)

我使用 OpenLayers 5.3 对标记标记进行了一些研究。不幸的是,我没有让文字工作。我将文本插入到特征对象中。带有图像的标记可见并且按预期工作,但它不显示任何文本。

这是我的代码: