0
function ZoomCenter(bounds, canvas)
{
var center = bounds.getCenter();
if (canvas.getMapTypeId() == "roadmap") canvas.fitBounds(bounds);
else
{
var maxZoomService = new google.maps.MaxZoomService();
maxZoomService.getMaxZoomAtLatLng(center, function(response)
{
if (response.status != google.maps.MaxZoomStatus.OK) alert("Error in Google MaxZoomService");
else
{
var max_zoom = (response.zoom > SATMAP_MAX_ZOOM) ? SATMAP_MAX_ZOOM : response.zoom;
canvas.setOptions({ maxZoom: max_zoom });
canvas.fitBounds(bounds);
canvas.setOptions({ maxZoom: SATMAP_MAX_ZOOM});
}
});
}
}
這是第一次這被稱爲縮放比地圖上適合的1。第二次和第一次之後,它會使用完全相同的邊界數據縮放到正確的級別。谷歌地圖V3 fitBounds縮放到更接近的視圖,當第二次調用相同的邊界
在fitBounds中有錯誤嗎?或者我錯過了什麼?
地圖類型是hybrib每次。對於檢查的區域,最大縮放服務返回20。 SATMAP_MAX_ZOOM設置爲20.邊界數據每遍完全相同。畫布每次都是相同的地圖。邊界數據每次傳遞完全相同。 – user1544767 2012-07-23 02:59:05
經過更多調試後,我得出結論這是fitBounds中的一個錯誤。當初始縮放級別爲10或更小時,fitBounds會返回1小於正確的縮放級別。如果初始縮放級別爲11或更多,fitBounds將返回正確的縮放級別。 – user1544767 2012-07-23 03:58:51
有趣!如果您還沒有這樣做,我會鼓勵您在我的答案中的問題跟蹤鏈接上提交錯誤報告。 – Trott 2012-07-23 06:06:27