我在一张焦点为8的地图上叠加NOAA雷达信息。当页面加载时,地图最初呈现为8,然后立即重绘自己以显示整个区域。
我正在使用的KML文件包含用于绘制雷达图像的最小/最大纬度/经度坐标(在这种情况下,在美国东南部地区)。如果我将这些坐标更改为覆盖较小的区域,则会根据需要调整Google地图的大小,但会根据KML文件剪切雷达活动。如果用户缩小或滚动到默认地图区域之外,则会出现此问题。
示例地图:http://georgiaoffroad.com/map2.html
示例KML文件:http://georgiaoffroad.com/includes/southeastradar.kml
有没有办法让雷达图像保持较大,但是将地图聚焦在可用雷达图像的较小区域上,以便用户可以缩放或滚动查看周围区域的天气?
答案 0 :(得分:4)
将图层的选项preserveViewport
设置为true:
new google.maps
.KmlLayer({url:'http://georgiaoffroad.com/includes/southeastradar.kml',
preserveViewport:true});
答案 1 :(得分:1)
我意识到这是一个非常晚的答案,但我想发布我用过的最适合我的技术。 Molle博士发布的方法不再适用,或者它对我不起作用。
添加" ctaLayer.set(' preserveViewport',true);"将图层设置为地图后,将使地图从自动聚焦到该kmz / kml文件。
var ctaLayer = new google.maps.KmlLayer('/kmz/90201.kmz');
ctaLayer.setMap(map);
ctaLayer.set('preserveViewport', true);