【发布时间】:2019-04-30 08:56:37
【问题描述】:
如何将指南针的方向与地图的方向对齐?
我将指南针添加到我的 MapView 并像这样启用地图旋转:
MapView mapView = findViewById(R.id.mapView);
// Enable & add compass
CompassOverlay compassOverlay = new CompassOverlay(this, mapView);
compassOverlay.enableCompass();
mapView.getOverlays().add(compassOverlay);
// Enable map rotation with gestures
mapView.getOverlays().add(new RotationGestureOverlay(mapView));
现在,当地图没有旋转时,向上是北方,向右是东方等,指南针可以正常工作。但是当我用手势旋转地图时,指南针不会相应移动。所以当设备朝北并且地图处于默认旋转时,指南针根据地图显示北方,这是正确的。但是当我将地图顺时针旋转 90° 时,指南针仍然指向上方,而不是顺时针旋转 90°。
我尝试使用compassOverlay.setPointerMode(true);,但这只会改变指南针的外观。
【问题讨论】:
标签: android osmdroid compass-geolocation