使用ng-map angularjs获取标记的latlng

时间:2017-09-15 23:31:10

标签: javascript angularjs marker ng-map

当标记首次或任何时间下降时,我试图获取latlng,但我无法做到。 在我的代码中,只有当标记处于开启状态时,我才能获得latlng。

这是我的代码:

<body>
  <div ng-controller="MyCtrl">
    <ng-map 
    zoom="16" 
    center="{{address}}" 
    style="width:500px; height:400px"
    scrollwheel = "false">
      <marker 
      position="{{address}}" 
      title="{{address}}"
      on-dragend="getpos($event)"
      animation="DROP" 
      draggable="true">
      </marker>
    </ng-map>
    <br/>Address : <input ng-model="data.dir" />
    <input type="button" name="" id="" value="buscar" ng-click="buscar()"/>
    <br />
    {{data.emp_lat}}-----------{{data.emp_lon}}
  </div>
</body>
</html>

这是我的js:

angular.module('ngMap').controller('MyCtrl', function($scope) {
  $scope.data = {};
  $scope.address = 'toronto canada';
  $scope.buscar = function(){
    $scope.address = $scope.data.dir;
  }
  $scope.getpos = function(event){
        $scope.latlng = [event.latLng.lat(), event.latLng.lng()];
        $scope.data.emp_lat = event.latLng.lat();
        $scope.data.emp_lon = event.latLng.lng();
    };
});

我的问题是,当标记掉落时,我怎么能得到latlng? (这应该在我的输入中设置地址后发生)

谢谢朋友们

1 个答案:

答案 0 :(得分:0)

https://developers.google.com/maps/documentation/javascript/reference#Marker

您是否尝试过position_changed

https://plnkr.co/edit/0aIlq0iQfQkvU3nreVyY?p=preview

您可以尝试下次为此创建一个plunker吗?

注意:您不应该将控制器直接添加到ng-map模块。