0

Android で Google マップ アプリを開発しています。OverlayItems として ItemizedOverlay に追加して表示している GeoPoints がいくつかあります。これは、それらを表示し、クリックすると素敵なボックスを表示するのに適していますが、表示されるボックスに情報を入れようとしています。

したがって、独自のクラスで ItemizedOverlay を拡張し、オーバーライドしていますonTap (final GeoPoint p, final MapView mapView)。パラメータの 1 つが GeoPoint であるため、最初はこれは非常に単純で、どの GeoPoint がクリックされたかを正確に知ることができると思いました。ただし、私が知る限り、GeoPoint 引数には、ユーザーが実際に触れた場所の GeoPoint があります。ユーザーがタッチして をトリガーできる範囲を考えると、onTapGeoPoint は実際にどの GeoPoint がタッチされたかを正確に知るのにあまり役に立ちません。

現在、パラメータ GeoPoint を既存のすべての GeoPoint に対してチェックし、最も近いものを確認しています。これは、非常にハックな抽象化の反転のようです。実際に盗聴されたものを知る良い方法はありますか?

4

1 に答える 1

1

代わりにonTap (final GeoPoint p, final MapView mapView)、メソッドをオーバーライドする必要があります。

@Override
protected boolean onTap(int index){
    //you code here
}

whereindexはあなたを右に向けOverlayItemます。

よろしく。

于 2012-11-28T23:49:30.367 に答える