我有以下問題:谷歌地圖與angularjs創建的標籤不集中
我在aplication工作來預訂酒店有標籤(「酒店詳情」,「地圖」,「評論」 )在概述頁面中。選項卡是使用angularjs創建的。 也在頁面中我有酒店地址是「地圖」選項卡的鏈接。 當我點擊「地圖」標籤時,谷歌地圖渲染正常。但是,當我點擊酒店地址時,「地圖」選項卡打開,但地圖不居中。如果我刷新頁面,它看起來居中。
這是處理地圖代碼:
$scope.loadMap = function (targetID){
var latitude = $scope.latitude;
var longitude = $scope.longitude;
if(latitude && longitude && document.getElementById(targetID) != null){
var center = new google.maps.LatLng(latitude, longitude);
var map_options = {
zoom: 13,
center: center,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
// create map
var map = new google.maps.Map(document.getElementById(targetID), map_options);
// configure marker
var marker_options = {
map: map,
position: center,
title: $scope.hotelName
};
// create marker
var marker = new google.maps.Marker(marker_options);
var infoWindow = new google.maps.InfoWindow();
window.setTimeout(function(){
google.maps.event.trigger(map, 'resize');
},2000);
}
}
你能幫助我嗎?
你可以發佈一個jsFiddle(或同等學歷)嗎?另外,您應該考慮使用'$ window','$ timeout'和'$ document'服務。 –
嗨,你真的不應該從你的範圍引用HTML元素......這將導致內存泄漏,並且通常是Angular的一個壞方法。 – Spock