我正在做一个有角度的项目。它包含一个使用angular-google-maps的谷歌地图。所以在这张地图上,用户可以添加许多markers
。
app.js
angular.module('mapAngular', ['uiGmapgoogle-maps'])
.controller('MainCtrl', function($scope) {
angular.extend($scope, {
map: {
center: {
latitude: 42.3349940452867,
longitude: -71.0353168884369
},
zoom: 11,
markers: [],
events: {
click: function(map, eventName, originalEventArgs) {
var e = originalEventArgs[0];
var lat = e.latLng.lat(),
lon = e.latLng.lng();
var marker = {
id: Date.now(),
coords: {
latitude: lat,
longitude: lon
}
};
$scope.map.markers.push(marker);
console.log($scope.map.markers);
$scope.$apply();
}
}
}
});
});
HTML
<div>
<ui-gmap-google-map center="map.center" zoom="map.zoom" draggable="true" events="map.events">
<ui-gmap-marker ng-repeat="m in map.markers" coords="m.coords" icon="m.icon" idkey="m.id"></ui-gmap-marker>
</ui-gmap-google-map>
</div>
地图将显示所有添加的标记。我需要一个功能来使用鼠标动态移动此标记。请给我一个有价值的指导方针吗? 感谢
答案 0 :(得分:1)
通过向options="{draggable:true}"
指令提供<ui-gmap-marker>
来解决此问题。
<ui-gmap-marker ng-repeat="m in map.markers" coords="m.coords" icon="m.icon" idkey="m.id" options="{draggable:true}" >
</ui-gmap-marker>