2011-05-19 15 views
17

google.maps.Circle() yöntemini kullanarak bir Circle oluşturuyorum. Her şey yolunda ve iyi çalışıyor ama bahsi geçen çemberi nasıl kaldırabilirim?Bir Google haritaları kaldırılıyor Daire/şekil

Kodum: Sen null Çember nesne üzerinde setMap yöntemini çağırmanız gerekir

var populationOptionsAgain = { 
    strokeColor: "#c4c4c4", 
    strokeOpacity: 0.35, 
    strokeWeight: 0, 
    fillColor: "#ffffff", 
    fillOpacity: 0.35, 
    map: map, 
    center: results[0].geometry.location, 
    radius: 40000 
}; 
cityCircle = new google.maps.Circle(populationOptionsAgain); 

cevap

55

:

cityCircle.setMap(null); 
+0

Hmm gizlemek sadece edecek, onun geriye! lol - cool, teşekkürler - hasta en kısa sürede kabul et –

+0

@Neurofluxation Sorun yok :) Öncelikle biraz sezgisel bir sezgidir (google maps v2 bunu başka bir şekilde yaptı), ama bence buna alıştığınız zaman mantıklı geliyor. – RedBlueThing

+0

tüm çizim veya çoklu daire nasıl kaldırılır ..? –

9

haritadan bir daire kaldırmak için setMap() yöntem olarak null geçen çağrı argüman.

circle.setMap(null); 

Yukarıdaki yöntemin daireyi silmediğini unutmayın. Çemberi haritadan kaldırır. Bunun yerine daireyi silmek isterseniz, haritayı kaldırmanız ve ardından dairenin kendisini null olarak ayarlamanız gerekir. Sadece daireyi saklanmak yerine çok olaylar dinleyicileri kaldırmak gerekir

https://developers.google.com/maps/documentation/javascript/shapes#circle_remove

+1

Null atama, "daireyi" silmez, yalnızca referansın değerini yeniden atar. – zerkms

+0

Bunu söyleyebilmenin doğru yolu, "daire nesnesine yapılan tüm başvuruları kaybetmek" olacaktır. Hepsine hükmedilmesi işe yarayacaktı. – Hoffmann

+0

Tüm çizim veya çoklu daire nasıl kaldırılır ..? –

1

, in-Aslında circle.setMap(null) daireyi

function remove_circle(circle) { 
    // remove event listers 
    google.maps.event.clearListeners(circle, 'click_handler_name'); 
    google.maps.event.clearListeners(circle, 'drag_handler_name'); 
    circle.setRadius(0); 
    // if polygon: 
    // polygon_shape.setPath([]); 
    circle.setMap(null); 
} 
İlgili konular