我正在尝试使用googlemaps进行地理编码。我遇到的问题是我的代码中的Geocoder在再次居中之前没有返回:
GeoCoder.getLocations($scope.address).then(function(results) {
var latLng = results[0].geometry.location;
$scope.center = {
lat: latLng.k,
lng: latLng.A
};
$scope.zoom = 10;
});
在我的gmaps指令中,我将地图的中心设置为从GeoCoder返回的新lat / lng(参见上文)。调用服务以及何时返回设置新位置的更好解决方案是什么?也许是异步电话? 这是url plunkr:http://plnkr.co/edit/6Wg3UZNsJOHLQCmTJPCQ?p=preview
答案 0 :(得分:0)
刚刚返回中心怎么样?或者链接中心的承诺?当您准备好使地图居中时,您可以解决它。
var centerPromise = GeoCoder.getLocations($scope.address).then(function(results) {
var latLng = results[0].geometry.location;
$scope.nextCenter = {
lat: latLng.k,
lng: latLng.A
};
return new $q.defer().promise;
});