问题标签 [angular-openlayers]

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

angular - Openlayers 4.6.5 和 Angular 6 无法在像素处删除绘制的形状

问题是,当我尝试删除该功能时,this.vectorLayer.getSource().removeFeature()会引发错误Cannot read property 'forEach' of undefined

我可以很好地记录该功能,因此它肯定会在删除功能中抓住它,我还尝试将其添加到 vectorLayer 上的 features 属性的数组中,但似乎无法让它工作或找到任何体面的文档.

我应该注意到我已经设置按钮来独立添加图层,所以我将使用 addLayer 添加图层,然后使用 addInteraction 绘制一个形状,然后尝试删除所述绘图。

0 投票
2 回答
2577 浏览

javascript - Openlayers如何在地图moveend事件上更新叠加位置

我在 openlayers 地图上有一个 ol.geom.Point 类型的点特征,并且在单击该特征时会显示一个弹出窗口。弹出窗口是<div>我添加为叠加层的元素,每当我在地图上找到点击事件的功能时,我都会显示和隐藏叠加层。

问题是当您在地图上放大或缩小时,覆盖错位(tip 和 div) 。但是,如果您再次单击功能,它会正确显示,但每次单击并不理想。我也试图在每个世界中显示覆盖,每个世界的问题都是一样的,它错位了。

预期的结果是,无论何时我单击功能,都应在功能上显示叠加层,而不管放大或缩小。

这是重现问题的工作小提琴: Openlayers overlay JSFiddle

屏幕截图:初始 最初的] 当前放大后 预期放大或缩小后]

0 投票
3 回答
782 浏览

javascript - Openlayers日期线交叉线串消失

我正在研究 openlayers,当我尝试在地图上添加线串时出现问题,该线串多次穿过日期线。

为了在连续段中显示跨越两个世界的线串,我添加了一个函数,该函数HandleDateline()返回修改后的(移动到左或右世界)坐标。

但是,当您将左侧世界放大到当前固定视图时,线串会消失。此外,如果您尝试将地图向左移动,这条线就会消失。

奇怪的是,如果线交叉超过 1 次,左侧世界的线串就会消失,否则右侧世界也会发生同样的情况。也请注意,删除datelinecrossing[]我将发布的前 3 点或后 3 点。

我期待一条连续的线串穿过国际日期变更线,而不会出现任何消​​失等问题。

如果有更好的方法来解决这个问题,我对所有想法持开放态度。这是垃圾箱:ol dateline problem

0 投票
1 回答
1002 浏览

openlayers-5 - 如何在 Angular 中导入和使用 control.defaults?

我是 Openlayers 的新手,我正在尝试创建我的第一个地图组件。我正在尝试设置地图控件但没有成功。尝试导入“ol/control”时,代码会引发错误。我看到了很多使用 defaultControls 的示例,但在 Angular 中没有。

有人可以帮我吗?

我的代码:

错误信息:

0 投票
1 回答
334 浏览

openlayers - 有没有机会在openlayers 5(键绑定)中将拖动地图方向键(Alt+Shift+Drag)更改为Ctrl+Drag

  • 在我的应用程序中,我使用 angular 6 和 openlayers V5。

  • 我对这个开放层很新

  • 我已经做了方向,可以设置视图方向(输入客户的选择)
  • 我有更改使用 Ctrl+Drag 而不是 Alt+Shift+Drag 在地图方向上拖动
  • 示例是旋转

地图组件.ts

  • 请检查上面的代码以及如何更改旋转地图拖动旋转键的默认控件,
  • 请拯救我的日子
  • 提前致谢
0 投票
1 回答
69 浏览

angular - 为什么将 Openlayers v5 添加到 Angular (6) 会使 SPA 下载更大?

Openlayers 是一个非常好的用于处理地图的包。

我的 Spring Boot、Angular 和 Leaflet SPA 有一个 4.2Mb 的 vendor.js 文件。用 Openlayers 5 替换 Leaflet 会得到 6.8Mb 的 vendor.js。注意不同:将 Openlayers 添加到裸 Angular SPA 会使 SPA 增加约 3Mb。

当我在https://openlayers.org看到很多示例时,只包含 2 个文件:ol.css 和 ol.js。下载 Openlayers v5 zip 时,我可以看到文件只有 4kb 和 640Kb。

为什么单页应用程序 (SPA) 下载大小增加了约 2.6Mb?其他 *.js 文件也有所增加。应用程序没有改变。

我使用“npm install ol --save”将 Openlayers v5 添加到 Angular SPA。

当然,我可以使用 ng build --prod 来优化构建(大小)。

0 投票
0 回答
162 浏览

cordova - 打开层 4.5 点击/触摸一个点(Android 设备)

我正在尝试在功能上创建一个点击/触摸来处理某些操作。它适用于 Chrome 浏览器。但是,当我在 Android 手机/平板电脑上安装 apk 时,它不起作用。

我的环境:
- Cordova 8
- Angular 6
- Open Layers 4.5

我尝试使用hitTolerance但没有任何运气。

请帮忙!

0 投票
1 回答
615 浏览

html - 在 NativeScript 项目中使用 Openlayers

我是 NativeScript 的新手,并且了解 Angular。我正在尝试使用Openlayers将地图插入我的移动应用程序。在 Angular 中,也就是 HTML,我们可以创建一个div并让 openlayer 在其上绘制地图。但是,我在 NativeScript 或 XML 中找不到任何与 div 等效的东西。我应该如何克服这个?

0 投票
0 回答
92 浏览

openlayers - 打开图层“instanceof”替换“getZIndex”。替代品如何达到同样的目的

在新版本的开放层中,“instanceof”被替换为 getZIndex。它与检查样式是否为样式对象的目的相同。从在线论坛,getZIndex 告诉我们对象的渲染顺序。请看下面的例子:

ol.asserts.assert(obj instanceof ol.style.Style,41); 替换为 ol.asserts.assert(typeof(obj).getZIndex === 'function',41);

0 投票
1 回答
157 浏览

openlayers - Different types of Tiles in Open Layers

I am new to Open Layers and i stumbled upon different types of tiles which are: image tile, Tile, Vector, Vector Tile. I would really like to know the difference between these four. Also, would like to know which one of these are the faster for loading the map on the screen.