2013-09-16 128 views
1

我瘋了!我添加了一些標記,並將這些標記的ID保存在一個數組中。後來,我從InfoWindowAdapter的自定義實現中使用getInfoWindow(Marker marker),但參數中的標記不在我保存的列表中! API是否將標記複製到getInfoWindow?我怎麼知道哪個標記是?Google Maps Android API問題

+0

除非Google地圖Android API v2或(更可能)存在代碼中的錯誤,否則ID應該是相同的值。除非您發佈一些代碼,否則不可能知道錯誤在哪裏。如果您認爲這是GMAv2中的一個錯誤,我很樂意幫忙指出。 –

回答

4

API是否複製標記以將其傳遞給getInfoWindow?

是的。更具體地說,庫不保留Marker實例。它們僅用於IPC到Play服務框架應用程序並再次使用。因此,您找回的Marker是您創建的Marker的副本。

我怎麼知道哪個標記是?

選項#1:使用Markersnippet部分持有一些標識,你可以映射回你的數據模型,諸如一鍵一HashMap

選項#2:使用一個庫,爲您做了類似於選項#1的操作,例如Android Map Extensions

+0

非常感謝。它的工作原理,我將使用片段。其實,我目前正在使用一個HashMap。 –

+0

@DídacPérez:FWIW,這裏是一個演示選項#1的示例項目:https://github.com/commonsguy/cw-omnibus/tree/master/MapsV2/Models – CommonsWare