1

我正在玩 Android MapView 并且遇到了一个要求,我必须在用户点击的地方放置一个标记。在我的场景中,用户可以平移地图、放大和缩小,并单击她喜欢的任何位置。在这种情况下,标记应放置在用户点击地图的任何位置。如果以前的标记在地图上,那么在点击事件时它应该被清除并放在新的地方。每次案件重复时,这应该重复。

将来,我将拥有更多的可绘制对象,例如范围代表和指向可以拖动的选择范围的指针。

我可以将标记放在第一位,但是当用户单击其他任何位置时,我的代码不起作用。

这是我正在使用的类的代码:http : //pastebin.com/6idn7VwK 扩展 MapActivity 的完整类和扩展 ItemizedOverlay 的类可以在上面的链接中找到。

我知道我可能做错了一些事情,所以请纠正我。

谢谢!

4

1 回答 1

3

您应该为此类功能覆盖 onTap 方法:

    @Override
    public boolean onTap(GeoPoint point, MapView view) {
         // add your marker to the map by creating an overlayItem and calling addOverlay
    }

 public void addOverlay(OverlayItem overlay) {
     mOverlays.add(overlay);
     populate();
 } 
于 2010-11-30T09:48:36.833 回答