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

Posted

技术标签:

【中文标题】如何在osmdroid中将指南针调整为地图【英文标题】:How to adjust the compass to the map in osmdroid 【发布时间】: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);,但这只会改变指南针的外观。

【问题讨论】:

【参考方案1】:

我编辑了我之前的答案:指南针似乎只适用于实际硬件。

见:Adding Compass to Rotate MapView

【讨论】:

以上是关于如何在osmdroid中将指南针调整为地图的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SupportMapFragment 中使用 OSMDroid 在地图上启用 LongClick

Osmdroid:如何从我自己的位图(图块)创建和加载地图?

Osmdroid 地图旋转

学校项目需要 Android Studio/OSMDroid 指南

如何在用户端下载 osmdroid 瓦片?

如何通过将地图切片图像保存到 sqlite 数据库来使用 osmdroid 实现离线地图?