【发布时间】:2015-07-28 06:27:46
【问题描述】:
Google Maps documentation 表示 .zoom 和 setZoom() 期望数字。一切似乎都指向这些数字是整数。然而,今天我给了后者一个浮点值,它工作了......有点。
var MAP;
function initialize() {
MAP = new google.maps.Map(document.getElementById('map-canvas'),
{
zoom : 5,
center : new google.maps.LatLng(-25.610111, 134.354806),
mapTypeId : google.maps.MapTypeId.ROADMAP
});
}
使用上面的代码,我可以让调试器访问 MAP 对象。
现在以澳大利亚大陆为例,如果放大 4 倍,我会看到东南亚、整个巴布亚新几内亚和新西兰,以及中间的大南部土地。如果我有 5 倍的变焦,我会得到大陆但没有塔斯马尼亚——绝对是“坏事”。以交互方式使用 MAP.setZoom() 发现的最佳缩放为 4.3。这很棒,除了没有其他东西适用于该缩放。当我尝试绘制多边形或热图时,地图会抛出类似
的错误GET https://khms0.google.com/kh?v=178&hl=en-US&x=0&y=0&z=0.2999999999999998&token=77820 404 (OK)
我想上面的“z”值是导致 404 的原因——khms0.google.com 不期望浮点“z”值。
那么我如何获得一个更适当缩放的家园,包括多边形、标记、热图、KML 图层以及你有什么?
顺便说一句,我确实尝试过使用 fitBounds(),但除了围绕新中心移动地图之外,它并没有改变视口的可见内容。
var se = new google.maps.LatLng(-44.999315, 156.971343); // Tasman Sea
var nw = new google.maps.LatLng(-9.063496, 106.346343); // Indian Ocean
var bs = new google.maps.LatLngBounds(nw,se);
MAP.fitBounds(bs);
【问题讨论】:
标签: javascript google-maps google-maps-api-3