2017-04-18 62 views
0

爲了獲得MapboxMap比如你打電話getMapAsync()得到它在onMapReady()返回。我的問題是:這個MapboxMap實例有效多久?我可以存儲對它的引用並稍後再使用它,以及何時需要使其無效?MapboxMap實例有效多久?

對我來說,MapboxMap實例在MapView上調用onDestroy()後變得無效,但我無法在任何地方看到它的正確記錄。

作爲一個相關的問題,我也想知道它是如何長的安全,以保持(爲了更新)到Marker參考。在調用onDestroy()後,它似乎也失效了。

是否有一個最佳做法或建議的方式來解決這個問題?是否應該在ActivityFragment中存儲對MapboxMap的引用,還是應該註冊一個偵聽器?

+2

Mapview和MapboxMap之間的關係是一對一的。您無法將現有的MapboxMap重新鏈接到第二個Mapview。只要Mapview有效,MapboxMap就是有效的。 Marker也一樣。隨意在Activity/Fragment中存儲這些對象的引用,因爲這些對象的生命將與mapview/mapboxmap一樣長。 – Tobrun

+0

@Tobrun謝謝。我已經走了,做了這個,它似乎工作正常。 –

回答

2

回答我的問題別人誰可能會問:

MarkerMapboxMap實例是隻要自己MapView有效有效。所以這是安全參考保持到他們,直到MapView被破壞。感謝@Tobrun在上面的評論中澄清了這一點。