2014-12-04 8 views
1

Если я не буду понимать это неправильно, чтобы инициализировать osmdroid вокруг заданной точки вы могли бы сделать следующим образом:не osmdroid центрирования/регистрации GeoPoint координаты

map = (MapView) findViewById(R.id.mapview); 
    map.setTileSource(TileSourceFactory.MAPNIK); 
    MapController mapController = (MapController)map.getController(); 

    GeoPoint startPoint = new GeoPoint(52370816, 9735936); 
    mapController.animateTo(startPoint); 
    map.setBuiltInZoomControls(true); 
    mapController.setZoom(2); 
    map.setUseDataConnection(true); 
    map.setMultiTouchControls(true); 

Когда я запускаю это, однако, карта Сорта делает то, что хочет. Он не сосредоточен на данном GeoPoint. Изменение этих чисел, похоже, ничего не делает. Я что-то упускаю?

Мои файлы XML все в порядке согласно учебникам, равно как и мои разрешения.

ответ

3

Это известная ошибка происходящий при настройке вида карты в OnCreate: https://github.com/osmdroid/osmdroid/issues/22

Выпуск закрыт, так как предполагается, что фиксируется в исходном голове, но он все еще не исправленные в 4.2 osmdroid выпуска.

setCenter отлично работает после того, как карта была нарисована один раз.

Различные способы решения проблемы могут быть найдены в проекте osmdroid Issue.

+0

О, круто. Хорошо, если это известная ошибка, я могу перестать ударить головой о стену. Спасибо, MKer! – Matt

0

Поскольку 2014-06-24 Osmdroid имеет этот

MapView.addOnFirstLayoutListener(new OnFirstLayoutListener() { ...}); 

, который может быть использован для установки начального увеличения, mapcenter, ....

 Смежные вопросы

  • Нет связанных вопросов^_^