Включить компас OSMDROID - PullRequest
       54

Включить компас OSMDROID

2 голосов
/ 11 ноября 2011

Как включить режим компаса в Open Street Map?

Есть метод или мне нужно создать систему ориентации самостоятельно?

Ответы [ 3 ]

2 голосов
/ 19 марта 2014

Вот как я включаю компас:

MapView oMap;
IMapController mapController;
.......

mapController = oMap.getController();
mapController.setZoom(zoom);
mapController.setCenter(new GeoPoint(latitude, longitude));
MyLocationNewOverlay oMapLocationOverlay = new 
MyLocationNewOverlay(getApplicationContext(),oMap);
oMap.getOverlays().add(oMapLocationOverlay);
oMapLocationOverlay.enableFollowLocation();
oMapLocationOverlay.enableMyLocation();   

CompassOverlay compassOverlay = new CompassOverlay(this, oMap);
compassOverlay.enableCompass();
oMap.getOverlays().add(compassOverlay);
1 голос
/ 21 ноября 2011

Чтобы показать компас на карте, используйте enableCompass() в MyLocationOverlay.

С MyLocationOverlay.java :

Включить датчик ориентации (компас) обновляет и показывает компас на карте.Возможно, вы захотите вызвать enableCompass () из метода Activity.onResume () вашего Activity, чтобы включить функции этого наложения.Не забудьте вызвать соответствующий метод disableCompass () в методе Activity.onPause () вашего Activity, чтобы отключить обновления в фоновом режиме.

Если вы также хотите повернуть карту, есть ветвь osmdroid реализация этой функциональности: http://code.google.com/p/osmdroid/source/browse/branches/rotation/OpenStreetMapViewer/src/org/osmdroid/MapActivity.java?r=914

0 голосов
/ 22 октября 2016

Поскольку вопрос не ясен, я дам вам то, что, по вашему мнению, «вы думаете», это компас на экране.

CompassOverlay mCompassOverlay = new CompassOverlay(getContext(),
            new InternalCompassOrientationProvider(getContext()),
            mMapView);
mCompassOverlay.enableCompass();
mMapView.getOverlays().add(this.mCompassOverlay);
...