使用 ng-map angularjs 获取标记的经纬度

Get latlng of a marker with ng-map angularjs

我试图在标记第一次或任何时候下降时获取经纬度,但我做不到。 在我的代码中,只有当标记处于拖动状态时我才能获得 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();
    };
});

我的问题是当标记掉落时如何获取经纬度? (这应该在我的输入中设置地址后发生)

谢谢朋友

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

你试过了吗position_changed

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

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

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