Angular google map获取地图的纬度和经度中心

时间:2015-04-24 07:14:10

标签: angularjs google-maps angularjs-directive angular-ui angular-google-maps

Angular-Google Map角度使用控制器如何获得当前地图的(经度和纬度)中心,如果说我的控制器看起来像这样:

$scope.map = {
      center: {
        latitude: $scope.latitude,
        longitude: $scope.longitude
      },
      zoom: 7,
      bounds: {},
      control: {},
    };


 var map = self.map.control.getGMap();
        var maps = google.maps;
        this.registerMap = function (myMap) {
          var center = myMap.getCenter(),
            latitude = center.lat(),
            longitude = center.lng();
            map = myMap;
            $scope.latitude = latitude;
            $scope.longitude = longitude;
            $log.info(latitude+"  "+longitude);
            return;
            };
$scope.$watch('$scope.map.center', function (newValue, oldValue) {
                if (newValue !== oldValue) { 
                   $log.info("value change");
                  var center = map.getCenter(),
                  latitude = center.lat(),
                  longitude = center.lng();
                  if ($scope.latitude !== latitude || $scope.longitude !== longitude)
                      map.setCenter(new google.maps.LatLng($scope.latitude, $scope.longitude));
                }
              });    

正如我在这些精彩的教程http://wbyoko.co/angularjs/angularjs-google-maps-components.html中看到的那样 和http://dylanfprice.github.io/angular-gm/1.0.0/examples/#!/map/

但这些不适用于不同库和方法的角度谷歌地图原因

1 个答案:

答案 0 :(得分:0)

建议:

对于google maps api v3(javascript),有一个名为getCenter()的函数,它返回地图中心的latlng。reference doc。 也许你可以尝试使用angular-google-maps来调用这个函数,因为它总是基于地图api。