Google maps 谷歌地图——弹出框

Google maps 谷歌地图——弹出框,google-maps,kml,popupwindow,Google Maps,Kml,Popupwindow,我使用Zonums Solutions的Shp2kml2软件将多个ShapeFile转换为KML。我已经用KML图层制作了一张地图(我已经将其中的图层导入到谷歌文档以获取url)。例如: var ctaLayer = new google.maps.KmlLayer({ url: 'https://docs.google.com/uc?authuser=0&id=0B15UI5xGYTOadDlta2FoZ2pCc1E&export=download' });

我使用Zonums Solutions的Shp2kml2软件将多个ShapeFile转换为KML。我已经用KML图层制作了一张地图(我已经将其中的图层导入到谷歌文档以获取url)。例如:

  var ctaLayer = new google.maps.KmlLayer({
    url: 'https://docs.google.com/uc?authuser=0&id=0B15UI5xGYTOadDlta2FoZ2pCc1E&export=download'
  });
  ctaLayer.setMap(map);
当我在谷歌地图中点击多边形图层时,弹出框会打开。我如何使其在单击第二个多边形层时,先前选择的弹出框自动清除,不再显示?(因为在我的情况下,前面的弹出框仍然会显示,但我不希望出现这种情况,因为如果用户选择多个多边形层,屏幕上会有太多的弹出框。我知道用户可以选择X来删除弹出窗口,但我希望尽可能使其对用户友好)

除了多边形层,我在地图中还有其他点层。但是,当我尝试单击某个特定点时,弹出的信息是与点位于同一位置的多边形的信息


我的地图在:

你可以考虑以下方法:

1) 抑制默认信息窗口:

   var kmlOptions = {
           suppressInfoWindows: true,  // do not to display an info window when clicked
           preserveViewport: false,
           map: map
       };
   var layer = new google.maps.KmlLayer(url, kmlOptions);
2) 注册以下内容的共享实例:


请提供一份说明问题的报告。您可能想取消显示本机信息窗口,并在所有希望显示信息窗口的层上创建自己的信息窗口。@geocodezip,我们目前创建的在线地图是:userpages.flemingc.on.ca/~catam/collab.html
 var infoWindow = new google.maps.InfoWindow();
 var openInfoWindow = function (KMLevent) {
    infoWindow.close();
    infoWindow.setOptions(
    {
        content: KMLevent.featureData.infoWindowHtml,
        position: KMLevent.latLng,
        pixelOffset: KMLevent.pixelOffset
    });
    infoWindow.open(map);
};
google.maps.event.addListener(layer, "click", openInfoWindow);