簡體   English   中英

開啟/關閉KML圖層的功能

[英]Function to turn KML layer on/off

這是我第一次在這里發帖。 我是使用Javascript或Google Maps API的新手。 我有一個帶有一個KML圖層的地圖,我想創建一個復選框,單擊該復選框可以打開或關閉該圖層。 我在網上看到了很多示例,但是在我的應用程序中似乎沒有任何作用。 這是代碼:

(function() {
window.onload = function() {

    var options = {
        center: new google.maps.LatLng(44.65, 22.64), 
        zoom: 10, 
        mapTypeId: google.maps.MapTypeId.TERRAIN,
        mapTypeControl: true,
        mapTypeControlOptions: {
            mapTypeIds: [
                google.maps.MapTypeId.HYBRID,
                google.maps.MapTypeId.SATELLITE,
                google.maps.MapTypeId.TERRAIN
            ]       
        },
        streetViewControl: false
    };

    var map = new google.maps.Map(document.getElementById('map'), options);

    var kmlUrl = 'http://googledrive.com/host/0B55_4P6vMjhITEU4Ym9iVG8yZUU/trasee.kml';
        var kmlOptions = {
        suppressInfoWindows: false,
        preserveViewport: false,
    };

    var trasee = new google.maps.KmlLayer(kmlUrl, kmlOptions).setMap(map);

}
})();

我不知道要創建什么功能來切換圖層的可見性,盡管我已經在HTML文件中創建了一個復選框:

<input type="checkbox" id="straturi" onClick="togglefunction()" />

你能給我什么建議嗎?

最好的問候,亞歷山德魯

切換功能應類似於

var toggleKml=function(layer) {
    if(layer.getMap()===null) {
        layer.setMap(map)
    } else {
        layer.setMap(null)
    }
};

並且需要在與map和trasee相同的上下文中定義它,否則它將看不到那些對象。 在您的情況下,您可以使用trasee作為參數來調用它

toggleKml(trasee);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM