我有一个 Android 应用程序,它使用MapView
带有Overlay
(蓝色图钉)的 a 来显示从建筑物列表中选择的建筑物的位置。当用户点击覆盖时,我想显示一条显示建筑物名称和编号的 toast 消息。我遇到的问题是我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()
导致了问题。有没有一种简单的方法来确定是否是专门点击了这个覆盖层?