2

首先,我使用的是 Angular Google Map (ng-map)。我想获得谷歌地图纬度和经度的点击位置。

我的代码

<ng-map center="[{{latitude}}, {{longitude}}]">
   <marker position="[{{latitude}}, {{longitude}}]" title="how" animation="Animation.BOUNCE"></marker>
</ng-map>
4

3 回答 3

3

您可以这样做,并且即使在标记拖动时也可以获得坐标:

<ng-map on-click="getpos($event)">
    <marker ng-repeat="p in positions" 
      position="{{p}}" on-dragend="getpos($event)">
    </marker>
</ng-map>

在你的控制器中:

$scope.getpos = function(event) {
    console.log(event.latLng);
};

小提琴: 小提琴

更新: 初始化

编辑我会尝试

改变你的js

app.run(function(editableOptions) {
    editableOptions.theme = 'bs3';
});

进入

app.run(function(editableOptions, $rootScope) {
    editableOptions.theme = 'bs3';
    $rootScope.$on('mapInitialized', function(evt,map) {
        $rootScope.map = map;
        $rootScope.$apply();
    });
});
于 2016-03-15T08:03:43.933 回答
1

在谷歌地图中初始化:

var latlngbounds = new google.maps.LatLngBounds();
google.maps.event.addListener(map, 'click', function (e) {
alert("Latitude: " + e.latLng.lat(); + "\r\nLongitude: " + e.latLng.lng());
于 2016-03-18T04:59:16.543 回答
0

为此,您必须在地图上设置一项功能,点击

<ng-map center="[{{lat}}, {{lng}}]"  zoom-to-inculude-markers="auto" on-click="getCurrentLocation($event)">
        <marker position="{{latlng}}"></marker>
    </ng-map>

在你的 controller.js 文件中,你可以像这样设置 lat long

$scope.getCurrentLocation = function(event){

        console.log(event.latLng.lat());
        console.log(event.latLng.lng());
    }

希望这会帮助你。

于 2019-07-30T08:59:52.973 回答