【发布时间】:2015-01-29 22:54:58
【问题描述】:
我正在尝试将多个 kml 图层添加到可以使用复选框打开和关闭的地图。我得到了那部分工作(耶!)。当我单击图层将其打开时,它会放大(这很好),但是当我取消单击以关闭图层时,它会缩小到我的地图范围。如何让它保留最后加载的图层的缩放?代码如下。
<script>
var map;
var watershedLayer = new google.maps.KmlLayer ({
url: 'http://mvihes.bc.ca/mapping/watersheds.kmz'
});
var ere1949Layer = new google.maps.KmlLayer ({
url: 'http://mvihes.bc.ca/mapping/ere1949.kmz'
});
function initialize() {
var parksville= new google.maps.LatLng(49.316786, -124.308768);
var mapOptions = {
zoom: 9,
center: parksville
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
check();
}
function check()
{
if(document.getElementById('watersheds').checked)
{watershedLayer.setMap(map);}
else
{watershedLayer.setMap(null);}
if(document.getElementById('ere1949').checked)
{ere1949Layer.setMap(map);}
else
{ere1949Layer.setMap(null);}
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
我尝试使用 preserveViewport 功能,但它只是阻止图层放大,这不是我想要的。我是 javaScript 的新手,所以可能我遗漏了一些明显的东西......任何帮助将不胜感激!
【问题讨论】:
-
您发布的代码中没有任何内容可以做到这一点。请发布Minimal, Complete, Tested and Readable example。 jsfiddle of your code
标签: javascript google-maps kml