我試圖找到一種方法來正確實施getMapAsync()
在我的代碼,我將不得不處理谷歌Marker
很多。您可能知道getMapAsync()
在onMapReady
中準備好此映射時會返回非空映射。谷歌地圖和getMapAsync
所以基本上我將不得不做所有關於onMapReady
中標記的東西。問題是,在我的代碼的各個部分我打電話我的谷歌標記在onMapReady
初始化與map.addMarker(new MarkerOptions())
但我不知道這些標記是否已經初始化或沒有(以及我可以在onMapReady
添加一個boolean
知道我的Marker
初始化但在這個布爾值爲false
的情況下,我應該做什麼?對我的標記做什麼?)。
所以基本上我希望能夠得到相同的行爲,如同步getMap()
方法但在哪裏我一定會得到一個非空映射。因爲我很確定我無法在我的主線程中添加「服務員」(例如CountdownLatch
),所以我無法找到一種方法來等待地圖準備就緒,然後再繼續執行主代碼中的其餘代碼線。謝謝
明顯的解決方案從兩個地方調用「添加代碼」 ,在某些標記列表中存儲標記變量(字段)...如果地圖準備就緒添加標記並添加列表中的所有標記,清除列表......當然,添加一些線程競賽檢查 – Selvin
'如果不是,則在某些列表中存儲標記標記變量(字段)' 標記實例用'map.addMarker(new MarkerOptions())'檢索,如果我想要一個Marker實例,'map'需要被初始化。 –
嗯好吧,好吧...因此存儲MarkerOptions或其他數據創建所需的其他數據的列表...但是您獲得了一般概念?你需要像懸而未決的標記(或其創建的數據)來添加... – Selvin