建物のリストから選択した建物の場所を示す(青いピン)がMapView
付いたを使用するAndroidアプリケーションがあります。Overlay
ユーザーがオーバーレイをタップすると、建物の名前と番号を示すトーストメッセージを表示したいと思います。私が抱えている問題はonTap()
、オーバーレイでの処理が、青いピンをタップするか、マップ上のまったく異なる場所をタップするかに関係なく、すべてのタップイベントを取得することです。
私のコードは次のようになります。
searchedPlaceOverlay = new SearchedPlaceOverlay(SearchPlaces.chosenPlace.getLocation(), this) {
public boolean onTap(GeoPoint p, MapView mapView) {
Toast toast = Toast.makeText(getApplicationContext(), "<building name and #>", Toast.LENGTH_LONG);
toast.show();
return true;
}
};
mv.getOverlays().add(searchedPlaceOverlay);
SearchedPlaceOverlay
伸びcom.google.android.maps.Overlay
て青いピンが地図上にうまく表示されonTap()
ます。問題を引き起こしているのは、呼び出されるという差別のない性質です。特にタップされたのがこのオーバーレイであったかどうかを判断する簡単な方法はありますか?