问题标签 [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.
angularjs - Angular OpenLayers - 创建矢量图层
大家好,我正在尝试使用 angular-openlayers-directive 创建矢量图层。但是不断收到此错误:
这是我用来在我的控制器中配置我的地图的代码:
这是 HTML:
为什么将矢量图层添加到我的地图如此困难。我想要的只是稍后添加和删除功能,因此使用 GeoJSON 图层没有多大意义,我在示例中已经看到了很多。
如何将矢量图层添加到我的地图?如何手动向该矢量图层添加一些特征?所有这些都使用 Angular。
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 标签,但没有成功。
javascript - 在 Angular 中异步加载工厂中的坐标
我对工厂的调用在我的地图控制器中返回得太快了。我正在尝试设置地图的中心,但是由于对 geo 的调用返回 undefined 它永远不会设置中心。然而,坐标是在地理工厂中获取的。他们只是太晚了。
我认为 .then() 的目的是等待返回日期。那么,如何强制我的应用等待?
我的工厂是:
我的地图控制器调用它:
angularjs - Angular OpenLayers - 标记大小
是否可以更改标记的自定义图标图像大小?如果我像这样设置内部样式大小
它只会改变 12px x 12px 的标记大小,但内部图像保持原始大小。我可以使用指令更改用于标记的图像大小吗?
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)?
openlayers - OpenLayers 3 (3.3.0) 一次选择一项功能
使用openlayer 3.3.0,我们有一个分为县的地图,每个县都是一个“特征”,我想选择一个特征并改变它的边框颜色,当我选择另一个特征时,我希望之前选择的特征恢复到其原始样式和应用所选样式的新功能。
所以我用它来添加交互。
这一切都很好,但它不会“取消选择”以前选择的功能,所以如果我点击所有功能,就会得到选择样式
我似乎可以解决这个问题的唯一方法是,设置一个“previouslySelectedFeature”变量,并在“on”事件中重置它的样式,虽然它看起来有点笨拙,不应该有一种方法来检测一个特性什么时候有被“取消选择”并重置其样式?
javascript - 如何使用 angularjs-openlayers-directive 在标记的弹出窗口中显示表单?
我正在使用angular-openlayers-directive,我想显示一个表单并从表单中获取输入。
我尝试将标签消息更改为表单模板,但不是表单,而是显示一个不包含任何内容的小弹出窗口。
javascript - Openlayers - 交互点击处理程序和 DrawEnd
我的DrawEnd
和OnClick
事件有问题。我已尝试将条件更改为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 不是函数