У меня есть 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
}
}
}