在有角度的谷歌地图中使用鼠标移动标记

Move markers using mouse in angular google maps

本文关键字:鼠标 移动 谷歌地图      更新时间:2023-09-26

我正在做一个有角度的项目。它包含一个使用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>

地图将显示所有添加的标记。我需要一个功能来动态移动这个标记使用鼠标。请给我一个有价值的指导方针?感谢

Plunker

通过在<ui-gmap-marker>指令中赋予options="{draggable:true}"来解决问题。

<ui-gmap-marker ng-repeat="m in map.markers" coords="m.coords" icon="m.icon" idkey="m.id" options="{draggable:true}" >
</ui-gmap-marker>