2014-02-28 78 views
0

是否有任何方法僅在Google地球視圖圖層上顯示kml圖層?我使用谷歌API V3根據視圖在定製的Google地圖上隱藏/顯示kml圖層

這是我所擁有的鏈接:http://www.virtualbc.ca/knoxmountain/index2.php

正在對谷歌地球搜索,如果我選擇的衛星視圖,我想刪除或隱藏KML層。實際上,我在除了地球視圖之外的所有Google視圖中使用了一組圖塊。

+0

你是指谷歌地圖還是谷歌地球? – Skitterm

回答

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)。

+0

謝謝你!那就是訣竅。 :) – EMC