我可以记住,在旧版本的Gmaps API中,可以制作自定义叠加层,以便在其上添加标记,而不是在主贴图中添加或删除。此外,可以制作不同的结果组,并仅在一个命令中显示/隐藏它。在新的参考资料中我找不到它,是否重命名了它?
答案 0 :(得分:1)
你在谈论GLayer - https://developers.google.com/maps/documentation/javascript/v2/reference#GLayer
事实上,它已从v3 API中删除。
在API v3中,开发人员需要跟踪他们的叠加层,并根据需要在地图中添加/删除它们。
执行此操作的最佳方法是将叠加层保留在数组(或对象)中并循环遍历它们。
例如,如果您有两组不同的叠加层(infoWindows和markers),您可以执行以下操作:
var overlays = {
markers : [],
infoWindows : []
};
//create a marker and put it in markers
var marker = new google.maps.Marker();
overlays.markers.push(marker);
//create an infoWindow and put it in infoWindows
var infoWindow = new google.maps.InfoWindow();
overlays.infoWindows.push(infoWindow);
//remove all infoWindows from the map
for(var i=0;i<overlays.infoWindows.length;i++) {
overlays.infoWindows[i].setMap(null);
}
//remove all markers from the map
for(var i=0;i<overlays.markers.length;i++) {
overlays.markers[i].setMap(null);
}
这是一个简单的例子,但希望你能得到这个想法:在v3中添加,管理和删除叠加的“组”由开发人员负责。