我在角色中使用ngMap进行谷歌地图集成。
下面是我的HTML代码
<map ng-transclude class='google-map' center="map.center">
<marker position="marker.position" options="marker.options"></marker>
</map>
我的控制器代码是
//response get from server side
var onResponse = function(response){
$scope.workshop = response;
mapCenter(response.latitude, response.longitude);
};
function mapCenter(latitude, longitude) {
$scope.map = {
center: [latitude, longitude]
};
$scope.marker = {
position: [latitude, longitude],
options: function(){
return {
draggable: true
}
}
};
};
在这种情况下,地图会显示,但地图中心无法正确显示,它会到达右侧。
如果我把下面的代码放在带有虚拟lat的函数之外,那么它工作正常但是我不能在这个函数之外得到动态lat和long值,这就是为什么我需要把它放到这里功能中的代码。
$scope.map = {
center: [18.9750, 72.8258]
};
请帮我解决。
答案 0 :(得分:1)
你可以检查一下
center="{{map.center}}"
并在$timeout
函数中设置数据。如果您的纬度,经度完美可能是角度消化问题
$timeout(function() {
$scope.map = {
center: [latitude, longitude]
};
});
答案 1 :(得分:0)
$scope.map
。
请更新
function mapCenter(latitude, longitude) {
$scope.map.center =[latitude, longitude];
$scope.marker.position = [latitude, longitude];
};
还使用dorebuildall="true"
propeprty