我怎么能记得在旧版本的 Gmaps API 中是否有可能制作自定义叠加层以在其上添加标记,而不是从主地图中添加或删除。也可以制作不同的结果组并仅在一个命令中显示/隐藏它。在新参考中我找不到它,他们是否已重命名它?
问问题
899 次
1 回答
1
您说的是 GLayer - https://developers.google.com/maps/documentation/javascript/v2/reference#GLayer
事实上,它已从 v3 API 中删除。
在 API v3 中,由开发人员负责跟踪他们的叠加层并根据需要从地图中添加/删除它们。
最好的方法是把你的叠加层保存在一个数组(或一个对象)中并循环遍历它们。
例如,如果您有两组不同的叠加层(infoWindows 和标记),您可以执行以下操作:
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 中添加、管理和删除叠加层的“组”由开发人员决定。
于 2013-01-21T00:44:26.340 回答