11
我在一個活動中有一個MapView,它工作正常,地圖顯示,它響應點擊,並且我可以輕鬆地提取位置。然而,這個處理程序也響應捏縮放,所以如果用戶試圖捏縮放,應用程序響應,就好像他們挖掘(這是他們非常困惑)。如何響應Android MapView上的水龍頭,但忽略捏縮放?
如何響應MapView上的水龍頭,只拾取單擊,特別是忽略捏縮放和雙擊?
我是否需要使用OnTouchEvent()而不是OnTap()?如果是這樣,我如何區分不同的觸摸事件,以及如何訪問GeoPoint?
下面的代碼從我MapActivity內:
class MapOverlay extends com.google.android.maps.Overlay
{
@Override
public boolean onTap(GeoPoint p, MapView map)
{
if (p!=null)
{
// Do stuff with the geopoint
return true; // We handled the tap
}
else
{
return false; // We didn't handle the tap
}
}
}
時覆蓋項目被竊聽(相對於地圖的任意位置),並且還設置了觸摸監聽器上的MapView忽略捏,像你也許能夠使用中的onTap,其目的是隻響應不斷這個:http://stackoverflow.com/questions/4626028/how-to-disable-pinch-in-android-mapview – 2011-01-26 16:33:12
有趣的是拖動地圖是好的。所以拖動不會觸發onTap(),但點擊確實(如預期),但也捏和縮放。這不是我所期望的。 – 2011-01-27 19:17:03