选择另一个 KML 图层时信息窗口保持活动状态的问题 - 谷歌地图 API V3



我有多个 kml 图层,这些图层使用复选框加载到我的 Google 地图 API V3 中。选择两个或更多图层时,单击其他图层上的标记时,一个图层上的信息窗口不会自动折叠。我希望信息窗口自动关闭,即使它们位于不同的 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);

相关内容

最新更新