AngularJs Controller中未定义的LatLng谷歌地图

时间:2015-04-01 12:28:03

标签: angularjs google-maps-api-3 angularjs-directive controller

我想检索点击鼠标事件的经度和纬度位置,但我不能,它给了我Undefined。有人可以帮我吗? 我使用AngularJS,我发现我们可以做到

google.maps.event.addListener(map, 'click', function(event) {
    console.log(event.latLng);
});

但是我无法在我的控制器中这样做,它会给我一个错误,或者我可能不知道如何使用它!

这是我的代码:

$scope.map = {
        center: {
            latitude: 36,
            longitude: -80 
        },
        events: {
            "click": function (event) {
                console.log(event.latLng);
              }
         }
     }

我也试过了,但它给了我(Nan,Nan)

  $scope.map = {
            center: {
                latitude: 36,
                longitude: -80 
            },
            events: {
                "click": function (event) {
                    var pos = new google.maps.LatLng(event.latLng, event.latLng);
                    console.log("position: " + pos);
                  }
             }
         }

1 个答案:

答案 0 :(得分:1)

我可以像那样解决它

  events: {
        tilesloaded: function (map, eventName, originalEventArgs) {
            //map is trueley ready then this callback is hit
        },
        click: function (mapModel, eventName, originalEventArgs) {
            var e = originalEventArgs[0];
            var lat = e.latLng.lat(),lon = e.latLng.lng();
            console.log("lat long: "lat, lon);
            $scope.$apply();
        }
    }