【问题标题】:Hiding/showing a kml layer on customized google maps depending of the view根据视图在自定义谷歌地图上隐藏/显示 kml 图层
【发布时间】:2014-03-31 20:57:59
【问题描述】:
【问题讨论】:
标签:
javascript
google-maps-api-3
hide
kml
layer
【解决方案1】:
您可以在 Google.Map 对象上使用 maptypeid_changed 事件。当它发生变化时,您可以使用 setMap() 将 kml 图层设置为显示或隐藏。
示例:
function initialize() {
var map = new google.maps.Map(document.getElementById('map-div'), {
center: new google.maps.LatLng(40.3,-111.65),
zoom: 13
});
var kmlLayer = new google.maps.KmlLayer('http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml');
kmlLayer.setMap(map);
google.maps.event.addListener(map, 'maptypeid_changed', function() {
if(map.mapTypeId == 'hybrid') {
kmlLayer.setMap(null);
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
只需确保当您将地图类型重新设置为其他类型时,您会将 kml 图层重新设置为地图。当你想隐藏某些东西时,你只需调用 setMap(null)。