我寫了一個腳本,允許管理員點擊地圖(谷歌地圖API v3)設置儘可能多的位置,他想要的,命名它們。也就是說,點擊地圖會顯示一個信息窗口,其中包含一個用於命名該位置的表單。這些位置保存在數據庫(LatLng座標)中,並在地圖上顯示爲標記。設置谷歌地圖座標爲中心屏幕
然後,用戶(管理員或不管理員)可以從選擇框(按名稱)選擇這些位置中的任何一個。選擇此項後,可以選擇在選定位置顯示帶有標記的地圖。標記正確顯示,但我希望地圖在該位置居中。也就是說,屏幕中間的標記,而是顯示在最左上角。事實上,最初,標記甚至不可見。您必須拖動地圖並留下一點點才能顯示。
這很奇怪,因爲我對標記和中心屏幕使用相同的座標。這裏是我的代碼(或相關部分,至少):
var latlng = new google.maps.LatLng(parseFloat(location.lat), parseFloat(location.ltn));
var latlng2 = new google.maps.LatLng(parseFloat(location.lat) + 0.025, parseFloat(location.ltn) - 0.05);
var map = new google.maps.Map($('.modal-body', modal)[0], {
'center': latlng,
'zoom': 13,
'mapTypeId': google.maps.MapTypeId.ROADMAP,
});
var marker = new google.maps.Marker({
'position': latlng,
'map': map,
'title': location.name,
});
marker.setMap(map);
注意如何樣品中我不使用latlng2值。這是我的嘗試,但它似乎只適用於給定的分辨率。我怎樣才能將地圖置於這些座標中?
問候
編輯:
$(map).focus();
modal.on('shown', function() {
$(window).resize(function() {
google.maps.event.trigger(map, 'resize');
});
google.maps.event.trigger(map, 'resize');
});
這部分代碼似乎確定。你有沒有其他可以重新定位中心的東西? –
我剛剛編輯了這個問題。這有幫助嗎? –
是的,我忘了說。這顯示在引導模式,雖然我不明白爲什麼相關=) –