2010-11-30 8 views
1

Android MapViewを使用して遊んでいて、ユーザーがいる場所にマーカーを置く必要がありますクリック 私のシナリオでは、ユーザーは地図をパンしたりズームイン/ズームアウトしたり、好きな場所をクリックしたりすることができます。この場合、 の場合は、ユーザーが地図をクリックしている場所にマーカーを配置する必要があります。 地図上に前のマーカーがあった場合、クリックイベントでそれをクリアして新しい場所に置く必要があります。 これは、ケースが繰り返されるたびに繰り返されます。ユーザーがマップをクリックするたびに地図描画にマーカードロワブルを配置する効果的な方法

今後は、範囲代表とドラッグできる範囲を選択するためのポインタのようないくつかの描画可能なものを用意していきます。

私は最初の場所にマーカーを置くことができますが、ユーザーが他の場所をクリックするとコードが機能しません。

私が使用しているクラスのコードは次のとおりです。http://pastebin.com/6idn7VwK MapActivityを拡張したフルクラスとItemizedOverlayを拡張したクラスは、上記のリンクにあります。

私は間違ったことをしている可能性があることを理解していますので、私を修正してください。

ありがとうございます!

答えて

3

あなたがこの種の機能のためONTAPメソッドをオーバーライドする必要があります。しかし、私はonTouchEventを(使用して同じ結果を得ることができ

@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(); 
} 
+0

)と愚かに経度と緯度の値を使用していた、物事は今も元気に動作しますが、私はこれを試してみるつもりです。ありがとう! –

+0

onTouchEventは、ドラッグアンドドロップなどの実装時に便利です。マップをクリックすると、タップすると移動できます。 – ddewaele

+0

パーフェクト。これは私の目的をより正確に解決します。以前は、私はMotionEvent.ACTION_UPを聞いていました。これは、ユーザーがパンした後でもタッチを離すたびにマーカーを置くことになります。これはただ完璧です。ありがとう! :-) –

関連する問題