【问题标题】:Undefined LatLng google map in AngularJs ControllerAngularJs控制器中未定义的LatLng谷歌地图
【发布时间】:2015-04-01 12:28:02
【问题描述】:

我想检索单击鼠标事件的经度和纬度位置,但我不能,它给了我未定义的。任何人都可以帮助我吗?
我正在使用 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);
                  }
             }
         }

【问题讨论】:

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


    【解决方案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();
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-13
      • 2020-09-20
      • 1970-01-01
      • 1970-01-01
      • 2016-07-25
      • 2014-04-15
      相关资源
      最近更新 更多