2013-03-27 43 views
66

Tôi đã thêm bản đồ vào hoạt động đoạn và thêm một vài dấu hiệu sử dụng chức năng addMarker, nhưng tôi có thể loại bỏ tất cả các dấu hiệu, tôi nhận được thông báo cho danh sách khác nhau của dấu hiệu,đánh dấu rõ ràng từ Google Map trong Android

Bây giờ tôi muốn xóa tất cả các điểm đánh dấu và thêm điểm đánh dấu mới.

một cách để giữ tất cả các dấu hiệu trong danh sách và loại bỏ từng cái một, (marker.remove())

Có cách nào tốt hơn để xóa tất cả các điểm đánh dấu.

+2

có phương thức clear() –

Trả lời

165

Nếu bạn muốn xóa "tất cả các điểm đánh dấu, lớp phủ và polylines khỏi bản đồ", use clear() on your GoogleMap.

+1

Tôi có nên gọi remove() trên tất cả chúng trước khi thực hiện điều đó không? Ý tôi là, nếu tôi vẫn có một ArrayList với những Markers đó, tôi cho rằng tôi vẫn có một tham chiếu tích cực với những Markers đó, vì vậy chúng sẽ vẫn còn trong bộ nhớ ngay cả khi tôi xóa bản đồ. Tôi có đúng về điều này hoặc xóa bản đồ xóa các tham chiếu đến Điểm đánh dấu không? – razielsarafan

+4

@ santirivera92: "Tôi có nên gọi xóa() trên tất cả chúng trước khi thực hiện điều đó không?" - AFAIK, bạn không nên cần. "nếu tôi vẫn có một ArrayList với những Markers đó, tôi cho rằng tôi vẫn đang có một tham chiếu tích cực tới những Markers đó, vì vậy chúng sẽ vẫn còn trong bộ nhớ ngay cả khi tôi xóa bản đồ" - vâng, nhưng đó là * mã * của bạn, không phải của Google. Nếu * bạn * giữ các đối tượng 'Marker' tách biệt khỏi bản đồ, * bạn * cần phải loại bỏ chúng. 'clear()' sẽ loại bỏ chúng * một cách trực quan *. – CommonsWare

+0

Tất nhiên. Vì vậy, thanh toán bù trừ ArrayLists của tôi và sau đó thanh toán bù trừ các bản đồ sẽ loại bỏ chúng mãi mãi? – razielsarafan

Các vấn đề liên quan