Вызовы MapController не работают внутри обработчика событий? - PullRequest
3 голосов
/ 26 сентября 2011

Я пытаюсь переместить карту жестом 3 пальца, а не одним.Если я выполняю scrollBy () или setMapCenter () в своей основной деятельности, кажется, что все работает как положено.Однако, если я, например, выполняю эти вызовы внутри моего ACTION_MOVE, они, похоже, не имеют никакого эффекта.Публикация также не очень хорошо работает.

Есть еще одна проблема - event.getX / Y () являются числами с плавающей запятой, а mapController.scrollBy () принимает целые числа - так как перетаскивание в реальном времени с нормальной скоростью кажетсятребуется разрешение sub-int, что усложняет обновление в реальном времени.

И кажется странным, какие методы есть в mapView, а какие в mapController.

UPDATE : scrollBy () при выполнении в обработчике событий будет перемещать любые оверлеи, но не лежащую в основе карту

Итак, в сущности, я хочу иметь возможность «вернуть истину» из формы ACTION_MOVE и поэтому мой код вместоотслеживание карты дескриптора базового кода с помощью жеста пользователя

1 Ответ

0 голосов
/ 07 марта 2012

Возможно, вам придется опубликовать небольшую задержку,

Что-то вроде:

Handler handler = new Handler();

// Method Block
{
  handler.postDelayed(new Runnable() 
  { 
    // Code etc
  }, 500);
}
// End code block

Когда я играю с картами, все действия контроллера должны быть запущены после того, как к карте перестают прикасаться ... (я знаю, это звучит как боль).

Я написал довольно много материалов для библиотеки карт (Android Map Library) и знаю, что вы имеете в виду, когда кажется, что ничего не происходит. Или карта, кажется, просто игнорирует входные данные, единственный способ, которым я справился, это с помощью отложенных команд контроллера.

Дайте мне знать ваши мысли, и я смогу помочь немного больше.

Cheers, Chris

...