Android で Google マップ アプリを開発しています。OverlayItems として ItemizedOverlay に追加して表示している GeoPoints がいくつかあります。これは、それらを表示し、クリックすると素敵なボックスを表示するのに適していますが、表示されるボックスに情報を入れようとしています。
したがって、独自のクラスで ItemizedOverlay を拡張し、オーバーライドしていますonTap (final GeoPoint p, final MapView mapView)
。パラメータの 1 つが GeoPoint であるため、最初はこれは非常に単純で、どの GeoPoint がクリックされたかを正確に知ることができると思いました。ただし、私が知る限り、GeoPoint 引数には、ユーザーが実際に触れた場所の GeoPoint があります。ユーザーがタッチして をトリガーできる範囲を考えると、onTap
GeoPoint は実際にどの GeoPoint がタッチされたかを正確に知るのにあまり役に立ちません。
現在、パラメータ GeoPoint を既存のすべての GeoPoint に対してチェックし、最も近いものを確認しています。これは、非常にハックな抽象化の反転のようです。実際に盗聴されたものを知る良い方法はありますか?