【问题标题】:osmdroid get orientation from Compass [How to]osmdroid 从 Compass 获取方向 [如何]
【发布时间】:2014-05-26 05:15:11
【问题描述】:

我在我的地图应用中使用 Osmdroid。

我想在点击罗盘叠加时获取罗盘的弧度(方向)以旋转地图。

例如。按指南针图标,然后更新方向图真实方向。

我知道用于旋转地图的 setMapOrientation 方法 谢谢你。

【问题讨论】:

    标签: android map osmdroid compass-geolocation


    【解决方案1】:

    您可以使用设备的内部指南针并在 android 中使用 SensorListener。然后使用 MapOrientation 方法旋转 osmmap。

    一些sn-p:

    mSensorManager.registerListener(mySensorEventListener,
                            SensorManager.SENSOR_ORIENTATION,
                            SensorManager.SENSOR_DELAY_UI);
    
    public SensorListener mySensorEventListener = new SensorListener(){
    
            @Override
            public void onSensorChanged(int sensor, float[] values) {
                synchronized (this) {
                    float mHeading = values[0];             
                    mOSMView.setMapOrientation(-mHeading);
                }
            }
        };
    

    【讨论】:

    • SensorListener 已弃用
    • 没关系!我们仍然可以使用它。
    • 谢谢你,但我不明白。请为我解释。谢谢你。
    • 您调用 SensorListener 以获取以度为单位的实时指南针值,然后使用 map.orientation 方法根据真实北向旋转。默认情况下,地图方向为 NorthUp。
    • @zIronManBox 如果代码被弃用,那是有原因的!我们应该在不使用已弃用代码的情况下找到合适的答案,因为它对于未来可能不再支持此类的设备和 API 来说不是最佳选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多