当标记首次或任何时间下降时,我试图获取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? (这应该在我的输入中设置地址后发生)
谢谢朋友们
答案 0 :(得分:0)
https://developers.google.com/maps/documentation/javascript/reference#Marker
您是否尝试过position_changed
?
https://plnkr.co/edit/0aIlq0iQfQkvU3nreVyY?p=preview
您可以尝试下次为此创建一个plunker吗?
注意:您不应该将控制器直接添加到ng-map模块。