我得到了錯誤: '角度谷歌地圖:找不到有效的中心屬性'。 當我觀看我的位置數據從PHP後端加載和exec初始化函數。Angular-Google-Map:載入位置數據後如何加載地圖(Lat,Lng)?
HTML:
<div ng-init="locationData = '<?=htmlspecialchars($data)?>'">
<google-map center="map.center" zoom="map.zoom" options="map.options"></google-map>
</div>
角控制器:
app.controller('MapCtrl', ['$scope', function ($scope) {
'use strict';
$scope.$watch('locationData', function() {
var location = JSON.parse($scope.locationData);
$scope.location = {
lng : location.longitude,
lat : location.latitude
initialize();
});
function initialize() {
var mapOptions = {
panControl : true,
zoomControl : true,
scaleControl : true,
mapTypeControl: true,
mapTypeId : google.maps.MapTypeId.ROADMAP
};
$scope.map = {
center: {
latitude: $scope.location.lat,
longitude: $scope.location.lng
},
zoom: 13,
options: mapOptions,
};
}
}]);
而且,我謹$ scope.map設置到控制器塊的頂部,並設置固定值映射
center: {
latitude: 0,
longitude: 0
},
,地圖顯示正確。
角控制器:
app.controller('MapCtrl', ['$scope', function ($scope) {
'use strict';
var mapOptions = {
panControl : true,
zoomControl : true,
scaleControl : true,
mapTypeControl: true,
mapTypeId : google.maps.MapTypeId.ROADMAP
};
$scope.map = {
center: {
latitude: 0,
longitude: 0
},
zoom: 13,
options: mapOptions,
};
}]);
如何才能做到谷歌地圖指令解析後,加載數據和顯示地圖正確與後端緯度,經度數據?
+1。我用'ng-show'來隱藏地圖,直到我準備好顯示它,並以某種方式弄亂了畫布。將其改爲'ng-if'即可。 –