MapView setCenter () не работает должным образом - PullRequest
4 голосов
/ 15 марта 2012

У меня есть Activity, где MapView на части экрана. Здесь я всегда отцентрирую местоположение к данной точке. Затем у меня есть другой вид деятельности, где MapView на весь экран, и я сосредоточен на местоположении пользователей. Когда я вернулся из действия MapView на весь экран к работе с MapView на части экрана, я снова вызвал setCenter () для MapView. Но теперь MapView находится не в правильном месте, а в нескольких метрах в другом месте. Когда я использую animateTo (), все работает как положено. Это какая-то ошибка setCenter () или как мне объяснить это странное поведение для себя?

Ответы [ 2 ]

5 голосов
/ 17 марта 2012

Ну, рабочий раствор должен использовать это:

controller.setCenter(getPoint);
controller.animateTo(getPoint);
2 голосов
/ 03 февраля 2014

Я думаю, что может быть несколько возможностей, что setCenter () не работает. Я потратил довольно много времени на свою проблему с сет-центром. AnimateTo () не решает мою проблему. На самом деле, из документации MapController, setCenter специально «устанавливает вид карты на заданный центр. Не будет анимации», поэтому setCentre () похож на перемещение в эту точку без анимации.

В конце концов, похоже, что моя проблема решается так: мне нужно вызвать setCentre () ПОСЛЕ вызова setZoom (), чтобы установить уровень масштабирования.

Дополнительная информация: я использую карту OSMDroidView с автономными картами.

...