Вопрос

Я использовал этот учебник http://mobifrighorge.com/developing/story/using-google-maps-android. Для отображения представления карты и установите событие OnTouch, чтобы отобразить тост (широту / долготу), когда я нажимаю на определенную область. Теперь моя проблема в том, что тостовое сообщение отображается в тот момент, когда я касаюсь экрана, даже если он должен переместить карту? Я хочу отобразить тост, только если точка касания и точка касания одинаковы. Как мне реализовать это?

Это было полезно?

Решение

Проверьте, установлен ли бит перемещения в Motionevent

if(event.getAction() & MotionEvent.ACTION_MOVE == MotionEvent.ACTION_MOVE)

Другие советы

Это правильный способ сделать это? Я почти уверен, что есть лучший способ.

if (event.getAction() == 0) {                
    touchX = (int) event.getX();
    touchY = (int) event.getY();
}
if(event.getAction() == 1) {
  if(event.getX() == touchX && event.getY()== touchY){
    GeoPoint p = mapView.getProjection().fromPixels((int) event.getX(), (int)event.getY());
       Toast.makeText(getBaseContext(), 
         p.getLatitudeE6() / 1E6 + "," + 
         p.getLongitudeE6() /1E6 , 
         Toast.LENGTH_SHORT).show();
    }
}

Это сработало для меня, когда я нажимаю, и перетащите ничего не происходит, но если я нажимаю и выпустил его сработал! Также как поведение OnClickListener.

  public boolean onTouch(View v, MotionEvent event) {
      if (event.getAction() == MotionEvent.ACTION_UP){
         // yer Code here ...........
      }

      return false;
  }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top