【发布时间】:2016-03-25 16:03:54
【问题描述】:
我在我的网络应用程序中嵌入了一个谷歌地图,使用:
<div>
<map ng-transclude class="google-map" center="map.center" options="map.options">
<marker position="marker.position" decimals="marker.decimals" options="marker.options" on-click="updatelatlong()"></marker></map>
</div>
和控制器:
$scope.map = {
center: [39, -121],
options: function() {
return {
streetViewControl: false,
scrollwheel: false
}
}
};
$scope.marker = {
position: [39, -121],
decimals: 4,
options: function() {
return { draggable: true };
},
events:{
drag:function(e, p, map, points) {
console.log("dragged.....");
}
}
};
我正在尝试记录与新拖动标记关联的纬度经度。但是,控制权不会交给拖动事件侦听器。
【问题讨论】:
-
难道你从来没有在标记上设置监听器?您通过将位置、小数和选项属性与属性链接来使用它们,并且您将 onClick 事件指向一个不存在的函数,但您对事件属性不做任何事情。我对 Google 地图不太熟悉,但这对我来说似乎是个问题。
-
至少拖动应该打印在控制台日志中...并且定义了函数updatelatlong..控制也没有到达那里
-
我不这么认为。仅当 $scope.marker.events.drag 被执行时,您才会记录,我看不到您将其提供给地图的位置。看看rawgit.com/allenhwkim/angularjs-google-maps/master/build/docs/… 和developers.google.com/maps/documentation/javascript/… 我想你想把你的拖动功能放在
marker标签的on-drag=""中。
标签: javascript angularjs google-maps ng-map