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 に答える