Я использую API карт Google, и у меня есть код, который пытается зафиксировать положение центра карты после того, как пользователь перетащил его.
MapView mv = ...;
mv.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
GeoPoint pt = mv.getMapCenter();
//do something with the point
return A;
}
return B;
}
});
Теперь моя проблема связана с возвращаемыми значениями:
- если B ложно, карта перетаскивается, но я вижу только событие
ACTION_DOWN
, аACTION_UP
никогда не запускается, что я понимаю - если B истинно, я получаю событие
ACTION_UP
, но карта не перетаскивается - кажется, что истинно А или ложно, не имеет значения
Я хочу получить событие ACTION_UP
И перетащить карту.
Что мне здесь не хватает?
ACTION_DOWN
, затем несколько событийACTION_MOVE
и, наконец, событиеACTION_UP
. Если я возвращаю true, карта не обновляется, если я возвращаю false, я вижу толькоACTION_DOWN
, но не следующие события... - person assylias   schedule 30.08.2012