Google Maps API v3: すべてのマーカーを削除するには?

Google Maps API v2では、すべてのマップマーカーを削除したい場合、単純に次のようにできました。

map.clearOverlays();

Google Maps API v3ではどのようにすればよいでしょうか?

Reference API]1を見ても、'よくわかりません。

V3にはまだそのような機能はないようです。

マップ上にあるすべてのマーカーへの参照を配列にしておくといいと言われています。そして、すべてのマーカーを削除したいときには、配列をループさせて、それぞれの参照に対して.setMap(null)メソッドを呼び出すだけです。

詳細/コードについてはこの質問を参照

私のバージョンです。


google.maps.Map.prototype.markers = new Array();

google.maps.Map.prototype.getMarkers = function() {
    return this.markers
};

google.maps.Map.prototype.clearMarkers = function() {
    for(var i=0; i
解説 (5)

google.maps.Map.prototype.markers = new Array();

google.maps.Map.prototype.addMarker = function(marker) {
    this.markers[this.markers.length] = marker;
};

google.maps.Map.prototype.getMarkers = function() {
    return this.markers
};

google.maps.Map.prototype.clearMarkers = function() {
    for(var i=0; i
解説 (5)

両方の回答に掲載されている"set_map"関数は、Google Maps v3 APIでは動作しなくなっているようです。

何が起こったのでしょうか?

更新情報:

GoogleがAPIを変更したため、"set_map"が"setMap"ではなくなったようです。

http://code.google.com/apis/maps/documentation/v3/reference.html

解説 (0)