2017-12-28 22 views
0

マーカーを選択するとInfoWindowがポップアップします。Osmdroid - マーカー - InfoWindowを取得するための選択領域を増やす

マーカーの選択が困難な場合があります。特に、地図がナビゲーションの方向に回転しているとき。

「タッチサークル」をどのようにして選択しやすくすることができますか?

更新:サブクラス化によってマーカーのhitTest()を変更する必要があります。

「ヒット」(またはタッチ)がマーカーのポイントを中心にXピクセルの円内にあるかどうかを確認したいと思います。移動中はアイコンが回転しますので、アイコンは使用しません。

どうすればいいですか?

public boolean hitTest(final MotionEvent event, final MapView mapView){ 
    final Projection pj = mapView.getProjection(); 
    pj.toPixels(mPosition, mPositionPixels); 
    // Does mPositionPixels contains the x, y of the Marker? 
    // Should I draw a Rect around this point, or could it be a circle? 
    // How can I check whether the event.getX(), event.getY() is a hit? 
    return hit; 
} 

答えて

0

@Mkerは、Markerクラスを拡張してメソッドhitTestをオーバーライドすると考えています。これはマーカーそのものに使用されます。 InfoWindow自体でこれを変更できるかどうかはわかりません。

+0

もう少しお手伝いできますか?質問の私の提案を見てください。 – tjm1706

+0

新しいタッチエリアになるようにマーカーの周りに円を描く方法についていくつかのヒントを教えてください。それから私はこれを授与し、これを答えにします。 – tjm1706

0

spyによって提案された方法が実行可能です。

周囲に透明なピクセルの領域を持つアイコンビットマップを作成することもできます。これはタッチエリアを増やすための非常に簡単な方法です。

+0

私の場合、別のアイコンを追加することはできません。上記のhitTest()メソッドを次のように展開できますか?タッチ/ヒットがマーカーの中央のXピクセル内にあるかどうかを確認しますか? AND ...オムドイドを提供してくれて大変ありがとうございます。ジオキャッシングを使って4年以来毎週楽しんでいます。 – tjm1706

関連する問題