如何在谷歌地图中显示和忽略KML图层

how to display and ignore kml layer in google maps

本文关键字:KML 图层 显示 谷歌地图      更新时间:2023-09-26

我有一个谷歌地图,我可以点击地图并出现标记:

var myOptions = {
    zoom: 16,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.HYBRID,
    draggableCursor: 'crosshair',
    draggable: true,
    panControl: true,
    zoomControl: true,
    scaleControl: true,
    mapTypeControlOptions: {
        style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
    }
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

无论我单击哪里,都会调用一个函数来执行一些工作(添加标记)。

我被要求添加一个 kml 图层:

    var url = window.location.protocol + "//" + window.location.host + "/data/polygon.cfm?TYPE=GEOID&VALUE=" + getUrlVars()["GEOID"] + "&LC=641400FF&LW=3&FC=14F11C2E&F=1&FO=1";
    var kmlLayer = new google.maps.KmlLayer(url, {
        suppressInfoWindows: true,
        preserveViewport: false,
        map: map
    });

现在,一旦添加了 KML 图层,"十字准线"就消失了,我无法再点击地图了。 我可以设置 kmlLayer 中是否有可以设置的设置,即在仍然显示图层的同时"忽略"该图层?

谢谢。

将 KML 初始化代码从:

var kmlLayer = new google.maps.KmlLayer(url, {
    suppressInfoWindows: true,
    preserveViewport: false,
    map: map
});

 var ctaLayer = new google.maps.KmlLayer(
{
   url: url,
   suppressInfoWindows: true,  
   map:map,
   zindex: 0,
   clickable : false
}); 

这是一个小提琴: http://jsfiddle.net/loanburger/jnrnmog4/您可以单击地图和位于 KML 上方的标记

关键是 KML 图层选项上的可单击 = false 属性