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

angularjs - Angular OpenLayers - 创建矢量图层

大家好,我正在尝试使用 angular-openlayers-directive 创建矢量图层。但是不断收到此错误:

这是我用来在我的控制器中配置我的地图的代码:

这是 HTML:

为什么将矢量图层添加到我的地图如此困难。我想要的只是稍后添加和删除功能,因此使用 GeoJSON 图层没有多大意义,我在示例中已经看到了很多。

如何将矢量图层添加到我的地图?如何手动向该矢量图层添加一些特征?所有这些都使用 Angular。

0 投票
1 回答
2104 浏览

html - openlayers 地图的全窗口 ui-view

我有一个使用 yeoman 全栈生成器制作的 Angular Material 的 angularjs 应用程序。我的 index.html 有一个导航栏和一个 ui-view 来显示网站内容。

main.html 页面加载:<div ng-include="'app/map/map.html'"></div>我想填充窗口但不会填充的 openlayers 地图。高度并不总是停滞不前。地图上还有一条直达路线。

将 ui-view 的高度设置为 100% 是行不通的,这也不是我所需要的。虽然地图应该是 100%,但在 ui-view 中加载的其他内容不应该。请帮我把这张地图填满窗口。

map.html 加载在这里找到的开放层指令。我尝试使用有角材料的 flex 也没有成功。显然有一种方法可以做到这一点,我只是新手,并且在 DOM 中几乎可以找到的所有内容中都添加了高度和/或 flex 标签,但没有成功。

0 投票
1 回答
143 浏览

javascript - 在 Angular 中异步加载工厂中的坐标

我对工厂的调用在我的地图控制器中返回得太快了。我正在尝试设置地图的中心,但是由于对 geo 的调用返回 undefined 它永远不会设置中心。然而,坐标是在地理工厂中获取的。他们只是太晚了。

我认为 .then() 的目的是等待返回日期。那么,如何强制我的应用等待?

我的工厂是:

我的地图控制器调用它:

0 投票
1 回答
1099 浏览

angularjs - Angular OpenLayers - 标记大小

是否可以更改标记的自定义图标图像大小?如果我像这样设置内部样式大小

它只会改变 12px x 12px 的标记大小,但内部图像保持原始大小。我可以使用指令更改用于标记的图像大小吗?

0 投票
1 回答
1500 浏览

openlayers-3 - Angular OpenLayers - Zoom to box with bounds

I tried to figure out how to zoom the map to box with bounds but couldn't find a good example. I tried with

How can I set themap to zoom to the bounding box without complicate conversion of the 4 bounds to (center, zoom)?

0 投票
1 回答
471 浏览

openlayers - OpenLayers 3 (3.3.0) 一次选择一项功能

使用openlayer 3.3.0,我们有一个分为县的地图,每个县都是一个“特征”,我想选择一个特征并改变它的边框颜色,当我选择另一个特征时,我希望之前选择的特征恢复到其原始样式和应用所选样式的新功能。

所以我用它来添加交互。

这一切都很好,但它不会“取消选择”以前选择的功能,所以如果我点击所有功能,就会得到选择样式

我似乎可以解决这个问题的唯一方法是,设置一个“previouslySelectedFeature”变量,并在“on”事件中重置它的样式,虽然它看起来有点笨拙,不应该有一种方法来检测一个特性什么时候有被“取消选择”并重置其样式?

0 投票
1 回答
265 浏览

javascript - 使地图居中取决于 Angular OpenLayers 指令中的标记



我使用tombatossals 的 Angular-openlayers-directive。有没有办法根据标记使地图居中?

0 投票
1 回答
1049 浏览

angularjs - 如何在 Openstreetmap 上双击获取坐标?

我正在使用angular-openlayers-directive,我想获取双击点的坐标。

一个类似的问题:

将点转换为经度

但我想在 angularjs 中使用它。

0 投票
0 回答
157 浏览

javascript - 如何使用 angularjs-openlayers-directive 在标记的弹出窗口中显示表单?

我正在使用angular-openlayers-directive,我想显示一个表单并从表单中获取输入。

我尝试将标签消息更改为表单模板,但不是表单,而是显示一个不包含任何内容的小弹出窗口。

0 投票
0 回答
683 浏览

javascript - Openlayers - 交互点击处理程序和 DrawEnd

我的DrawEndOnClick事件有问题。我已尝试将条件更改为singleClick,click并已将其删除。

  • 如果 Condition 添加到交互中,DrawEnd则不调用(我需要DrawEnd放置点)
  • 如果我删除条件,则不会调用单击处理程序,而是调用DrawEnd

由于未处理单击,因此它似乎进入了某种平移模式,并且无论我移动鼠标,地图都会移动。

我的流程是这样的。。

  • 用户单击以添加一个点并显示该点的属性屏幕。

  • 一旦用户输入属性,屏幕就会消失,然后他们可以放下一个点。

  • 放置点后,调用一个服务来做事

  • 如果服务确定它是一个坏点,它会自动从地图中删除。

    draw = new ol.interaction.Draw({ source : addrVectorSource, type: "Point", //condition: ol.events.condition.singleClick });


看来我在 on drawend 函数期间遇到错误:

ol-debug.js:99465 Uncaught TypeError: this.source_.addFeature 不是函数