如何在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:如何从我自己的位图(图块)创建和加载地图?