1
我可以記得在舊版本的Gmaps API中,有可能爲自定義覆蓋添加標記並添加或從主地圖中刪除。也有可能做出不同的結果組,並且僅用一個命令來顯示/隱藏它。在新的參考文獻中我找不到它,他們是否已經重新命名了它?Gmaps自定義覆蓋
我可以記得在舊版本的Gmaps API中,有可能爲自定義覆蓋添加標記並添加或從主地圖中刪除。也有可能做出不同的結果組,並且僅用一個命令來顯示/隱藏它。在新的參考文獻中我找不到它,他們是否已經重新命名了它?Gmaps自定義覆蓋
你談論一個GLayer - https://developers.google.com/maps/documentation/javascript/v2/reference#GLayer
它,事實上,已經從V3 API中刪除。
在API v3中,開發人員需要跟蹤其疊加層,並根據需要將其從地圖中添加/刪除。
要做到這一點,最好的方法是保持你的疊加在一個數組(或一個對象),並通過它們循環。
舉例來說,如果你有兩套不同的覆蓋(信息窗口和標誌)的,你可以做這樣的事情:
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中的「組」是由開發人員決定的。
以及如何添加/刪除/從地圖? – BASILIO
對不起,還沒有讀得太好。此外FOR循環,我有希望,我可以在一個例子中完成。 – BASILIO
@BASILIO - 使用現有的API v3方法無法在一個實例中完成。你可以創建一個函數來刪除給定數組中的所有覆蓋(通過setMap(null)),然後傳入一個覆蓋數組 – Adam