12
默認情況下,我有一個V3地圖加載並以特定的經度/緯度爲中心。一旦加載,用戶可以輸入他們的地址來獲得該點的方向。發生這種情況時,地圖會調整大小以容納左側的方向框。因此,地圖窗口中的路線偏離中心。我嘗試了下面的代碼,我認爲這應該在邏輯上起作用,但無濟於事。在路線經過路線之後在路線上居中V3谷歌地圖
新實現:如果我以任何方式調整窗口的大小,它會開始按預期工作。
發現問題:我在調整地圖容器大小後需要觸發google.maps.event.trigger(map, 'resize')
。
directionsService.route(query, function(result,status) {
if (status === google.maps.DirectionsStatus.OK) {
// This sets the directions container to display:block and resizes the map
document.getElementById('map-container').className = "directions";
directions.setDirections(result);
var bounds = result.routes[0].bounds;
map.fitBounds(bounds);
map.setCenter(bounds.getCenter());
} else {
alert("");
}
});
一旦你打電話fitBounds它應該基於LatLngBounds爲基礎,所以你不應該需要setCenter – kjy112 2011-03-19 23:01:41
是的,我在最後努力添加setCenter()。它不會像預期的那樣集中或不集中。 – Justin 2011-03-19 23:11:35
完全誤讀了「調整大小」地圖部分。很高興它成功了 – kjy112 2011-03-20 00:16:15