簡體   English   中英

使用動態地理坐標更新在angularjs中進行Google Maps延遲加載嗎?

[英]Google Maps lazy loading in angularjs with dynamic geo coordinate updates?

我創建了一個directive用於使用angularjs延遲加載google maps

http://plnkr.co/edit/1NpquJ?p=預覽

摘自: AngularJS-在多個地圖的指令中加載Google Map腳本異步

問題:如何將lat/long值動態綁定到控制器,以便每次控制器中的值更改時,地圖也會更改視圖? (例如,后端調用提供了新的經/緯度值,然后必須將其推入map元素)。

我添加到maps指令:

  scope: {
      lat: '=',
      long: '='
  }

並用以下方式綁定它:

<div lat="{{lat}}" long="{{long}}" />

控制器:

$http..getBackendData()
    .then(function(data) {
        $scope.lat = data.lat;
        $scope.long = data.long;
    }
);
...

無論如何,地圖只會顯示初始值,而不會更新。 示例: http//plnkr.co/edit/U31poBpHTfFVQsipLrI4?p = preview

現在,它可以在latitude上添加$watch

http://plnkr.co/edit/eS18B0Te2l5qaf6wvQIH?p=preview

scope.$watch('lat', function (newVal) {
    initializeMap();
});

但是我不知道這是否是正確的方法。 如果您有更好的解決方案,請隨時發表評論。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM