如何在osmdroid中将指南针调整到地图

时间:2018-11-28 12:36:38

标签: android osmdroid compass-geolocation

如何将指南针的方向捕捉到地图的方向?

我向我的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);,但这仅改变了指南针的外观。

1 个答案:

答案 0 :(得分:0)

我编辑了先前的答案:指南针似乎只能在实际的硬件上工作。

请参阅:Adding Compass to Rotate MapView