我有一个谷歌地图,我可以点击 map 并出现标记:
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图层,“十字准线”就消失了,我无法再点击 map 了。 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
});
这是一个 fiddle :http://jsfiddle.net/loanburger/jnrnmog4/您可以单击 map 和 KML 上方的标记
关键是 KML 图层选项上的 clickable = false 属性
关于javascript - 如何在谷歌地图中显示和忽略kml图层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28103395/