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