Google Maps ленивая загрузка в angularjs с динамическими обновлениями гео-координат?

0

Я создал directive для ленивых загружаемых google maps с angularjs:

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

Снято с: AngularJS - загружает скрипт google map async в директиве для нескольких карт

Вопрос: Как я могу динамически связывать значения lat/long с контроллером, так что каждый раз, когда значения в контроллере меняются, карта также меняет вид? (например, бэкэнд-вызов обслуживает новые значения lat/long, которые затем должны быть перенесены в элемент карты).

Я добавил в директиву карты:

  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

Теги:
google-maps

1 ответ

0

На данный момент он добавляет $watch на latitude:

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

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

Но я не знаю, правильно ли это. Не стесняйтесь комментировать, если у вас есть лучшие решения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню