Создание OnDragListener для фрагмента карты Google v2

пытаюсь настроить прослушиватель onDrag для фрагмента карты Google, но не могуполучить событие перетаскивания, чтобы выстрелить. Поскольку карта нея не могу напрямую поддерживать события перетаскиванияя пытаюсь реализовать прослушиватель перетаскивания для просмотра. Я знаю о событии onMarkerDrag, но это меня не устраивает, так как яЯ не пытаюсь перемещать маркеры.

Причина захвата событий перетаскивания карты двояка:

Сначала определить, панорамировал ли пользователь карту. Если они неЯ хотел бы сохранить их местоположение на экране и анимировать их местоположение, если ононет на карте. Если они панорамировали карту, я предполагаю, что они знают, что они хотят видеть, и вынуждают местоположение на экране. (это похоже на то, что должно быть включено в API)

Вторая причина для отлова состоит в том, чтобы позволить пользователям рисовать линии и многоугольники на карте. Я могу сделать это с событиями onTap (добавление очков), но яЯ хотел бы иметь возможность дать им это от руки.

Мой код выглядит так:

основная деятельность:

    mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
    setUpMapIfNeeded();
    mMapView = findViewById(R.id.map);
    myMapDragListener = new MapDragListener();
    mMapView.setOnDragListener(myMapDragListener);

Слушатель:

public class MapDragListener implements OnDragListener {
    /**
     * 
     */
    public MapDragListener() {
        super();
        say.logCat("MapDragListener: I'm ALIVE!!!!");
    }

    private AkamaiAnnounce say = new AkamaiAnnounce();
    private boolean inDrag;
    private boolean hasPanned=false;

    @Override
    public boolean onDrag(View v, DragEvent event) {
        say.logCat("MapDragListener.onDrag: " + event.toString());
        //String dotTAG = (String) getTag();
        if (event.getLocalState() != this) {
          return false;
        }
        boolean myResult = true;
        int action = event.getAction();
        float x = event.getX();
        float y = event.getY();
        switch (action) {
        case DragEvent.ACTION_DRAG_STARTED:
          inDrag = true;
          break;
        case DragEvent.ACTION_DRAG_LOCATION:
          break;
        case DragEvent.ACTION_DRAG_ENTERED:
          break;
        case DragEvent.ACTION_DRAG_EXITED:
          break;
        case DragEvent.ACTION_DROP:
          myResult = false;
          break;
        case DragEvent.ACTION_DRAG_ENDED:
          inDrag = false; // change color of original dot back
          hasPanned=true;
          break;
        default:
          myResult = false;
          break;
        }
        return false;
        //return myResult;

    }

    public boolean hasPanned() {
        return hasPanned;
    }

    public void setHasPanned(boolean hasPanned) {
        this.hasPanned = hasPanned;
    }

}

Карта работает отлично. Слушатель создает экземпляр, но мое событие onDrag никогда не срабатывает. Есть идеи?

Ответы на вопрос(4)

Ваш ответ на вопрос