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。这很棒,除了没有其他功能可以用于缩放。当我尝试绘制多边形或热图时,Maps会抛出类似
的错误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);
答案 0 :(得分:2)
缩放级别必须是整数(至少目前为止)。它曾经有过记录,但我没有在任何地方看到它。
如果整数缩放级别对您不起作用,请更改显示地图的<div>
的大小,或制作具有不同比例的自定义图块。