从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/
但这些不适用于不同库和方法的角度谷歌地图原因
答案 0 :(得分:0)
建议:
对于google maps api v3(javascript),有一个名为getCenter()的函数,它返回地图中心的latlng。reference doc。 也许你可以尝试使用angular-google-maps来调用这个函数,因为它总是基于地图api。