有没有办法只在Google地球视图图层上显示kml图层?我使用的是Google API V3
这是我所拥有的链接:http://www.virtualbc.ca/knoxmountain/index2.php
在Google地球视图上,如果我选择了卫星视图,我想删除或隐藏kml图层。我实际上在除地球视图之外的所有Google视图中使用了一组图块。
答案 0 :(得分:3)
您可以在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)。