2011-05-11 82 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