Создатель не рисует после обновления lat long в angularjs - PullRequest
0 голосов
/ 05 февраля 2019

Я использую http://angular -ui.github.io / angular-google-maps / #! / для карты Google, но маркер рисуется только в первый раз.Если я обновляю lat-long, то единственная карта смещается, а не маркер.

Вот мой код: (Текущее местоположение)

navigator.geolocation.getCurrentPosition((position) => {
      vm.latitude_obj=position.coords.latitude;
      vm.longitude_obj=position.coords.longitude;
    });
          vm.map={center: {latitude: '28.454035292774627', longitude: '77.02379857578137' }, zoom: 12 };
          vm.options={scrollwheel: false};
          vm.marker = {
              id: 0,
              coords: {
                  latitude: 28.454035292774627,
                  longitude: 77.02379857578137
              },
              options: { draggable: true },
              events: {
                  dragend: function (marker, eventName, args) {
                      var lat = marker.getPosition().lat();
                      var lon = marker.getPosition().lng();
                      }
                  }
              };

После обновления Местоположение:

vm.map = {center: {latitude: vm.latitude_obj, longitude: vm.longitude_obj }, zoom: 12 };
            vm.options = {scrollwheel: false};
            vm.marker = {
            id: 0,
            coords: {
                latitude: vm.latitude_obj,
                longitude: vm.longitude_obj
            },
            options: { draggable: true },
            events: {
                dragend: function (marker, eventName, args) {
                    vm.lat = marker.getPosition().lat();
                    vm.lon = marker.getPosition().lng();
                    $scope.vm.listingModal.latitude=vm.lat;
                    $scope.vm.listingModal.longitude=vm.lon;
                    vm.locationSelected='Location Changed to '+vm.lat+', '+vm.lon;
                }
            }
            };

В этом коде карта перемещается из текущего местоположения в новое местоположение, а маркер - нет.Может кто-нибудь сказать мне, что я делаю не так.

Заранее спасибо.Счастливое кодирование

1 Ответ

0 голосов
/ 05 февраля 2019

при обновлении значения lat и lng установите позицию маркера

marker.setPosition(myLatlng);

, где myLatlng - объект формата

myLatlng = {lat: latitude_value, lng: longitude_value}
...