angularjs - 如何在 Angular 应用程序中更新 map 标记

标签 angularjs

所以我创建了这个小 map 应用程序 HERE ,如您所见,它显示了您当前的位置,现在的问题是标记不会显示在当前位置,如果您 CTRL+U您将看到标记的代码是:

<openlayers ol-center="center"  height="400px">
            <ol-marker lat="center.lat" lon="center.lon" message="Your current location." ng-model="center" >
            </ol-marker>
</openlayers>
lat="center.lat"lon="center.lon"开头是 0 ,现在如果我硬编码 lat 的值和 lon到我当前的位置,当然标记会显示在我当前的位置,但是我如何动态更新值?

我正在使用 angular.js , openLayers3 openlayers-angular-directive ,所以重复我的问题,我如何动态更新标记?

最佳答案

您只需将“autodiscover : true”添加到 Controller 中的中心对象即可。

正如 documentation 中所解释的那样的指令。

此外,您需要将值绑定(bind)在标记中:

<openlayers ol-center="center"  height="400px">
        <ol-marker lat="{{center.lat}}" lon="{{center.lon}}" message="Your current location." ng-model="center" >
        </ol-marker>

关于angularjs - 如何在 Angular 应用程序中更新 map 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33248047/

相关文章:

javascript - 在 Angular JS Promise 中没有获取状态错误代码

angularjs - express 4 : How do I send JSON object to view?

angularjs - gulp-jasmine 窗口未定义错误

javascript - Angular Controller 无法获取 'this'

javascript - 如何在 e2e AngularJS 测试中上传文件?

javascript - AngularJs 不显示从 Controller 填充的列表

AngularJS - 在指令之间传递范围

javascript - AngularJS+Jasmine - 获取 Controller 范围写入指令

javascript - AngularJs 指令帮助不插入

angularjs - 在 AngularJS 中有条件地注入(inject)服务