我有被加载到我的谷歌地图API V3使用勾选框多个KML层。 当两个或更多个层中选择的一个层上的信息窗口不自动折叠时标记被点击的其它层。 我想在信息窗口自动关闭,即使它们是在不同的KML层 - 在正确的方向的任何指针会有所帮助。
谢谢
达伦·威尔逊
我有被加载到我的谷歌地图API V3使用勾选框多个KML层。 当两个或更多个层中选择的一个层上的信息窗口不自动折叠时标记被点击的其它层。 我想在信息窗口自动关闭,即使它们是在不同的KML层 - 在正确的方向的任何指针会有所帮助。
谢谢
达伦·威尔逊
你需要禁用默认的信息窗口的创建和处理代码信息窗口自己。 下面是一个例子:
var CommonInfoWindow = new google.maps.InfoWindow({"maxWidth": 500});
/** @param {...*} KmlMouseEvent */
function KmlLayerClicked(KmlMouseEvent) {
var ClickData = /** @type {google.maps.KmlMouseEvent} */(KmlMouseEvent);
CommonInfoWindow.close();
if (ClickData.featureData && ClickData.featureData.id) {
CommonInfoWindow.setOptions({ "position": ClickData.latLng,
"pixelOffset": ClickData.pixelOffset,
"content": ClickData.featureData.infoWindowHtml
});
CommonInfoWindow.open(map);
}
}
/** @type {google.maps.KmlLayer} */
var KmlOverlay = new google.maps.KmlLayer(KmlUrl, {
'preserveViewport': true,
'suppressInfoWindows': true
});
google.maps.event.addListener(KmlOverlay, "click", KmlLayerClicked);