2011-05-11 81 views
0

我使用的是帶有Flex 3的Google地圖。Google Maps&Flex:結算標記

我在清除標記時出現問題。

用戶可以通過選擇組合框中的項目來選擇他們想要在地圖上標記的數據。

我也有一個按鈕,清除標記:

<mx:Button id="clearButton" label="Clear Markers" 
     click="markerManager.clearMarkers(); 
     /> 

如果用戶選擇「公園」,例如,在組合框,然後點擊清除按鈕。它工作正常。標記被清除。

當用戶在組合框中選擇「Parks」,然後選擇「Pools」(例如顯示兩組標記),然後單擊清除按鈕時,就會出現問題。只有最後一組標記,「池」標記被清除。 「公園」標記仍然可見。

選擇「池」後,必須重新設置markerManager,並丟失對第一組標記的引用。

我可以通過使用map.clearOverlays()來清除所有的標記。但是,那麼我會失去一條我想留在地圖上的折線。我總是可以重新繪製多段線,但我想知道是否有更好的解決方案。

有什麼建議嗎?

謝謝。

-Laxmidi

回答

0

在我看來,你在組合框中選擇之間覆蓋你的市場「容器」。如果我是你,我會在組合框中更改選擇之間添加一個清除:

<s:Combobox ... change="markerManager.clearMarkers()" /> 
+0

嗨J_A_X,感謝您的所有幫助。我可以這樣做,但有時用戶可能希望一次看到多個標記集。 – Laxmidi 2011-05-11 22:16:49

+0

然後確保將所有標記保存在您的markerManager中的數組(或任何類型的數據結構)中,以便它們被正確清除。 – 2011-05-12 00:40:30

+0

嗨J_A_X,我決定繼續前進,並按照第一次建議清除標記。感謝您的幫助。 – Laxmidi 2011-05-12 20:46:41