【问题标题】:How to rotate arrow head in googlemap v2 when we rotate the phone旋转手机时如何在googlemap v2中旋转箭头
【发布时间】:2013-11-07 01:51:27
【问题描述】:

谁能帮助我如何在谷歌地图 v2 中旋转箭头?您已经看到,在导航中,箭头正在向我们所面对的方向旋转。我想在我的应用程序中实现它。我为markerOption.rotation(rotation) 发红,这似乎是一个静态的。我想在旋转手机时动态旋转箭头。

【问题讨论】:

    标签: android google-maps-android-api-2 marker image-rotation


    【解决方案1】:

    我能够做到这一点。它是如此容易。下面是如何。 这是为了读取传感器并获取手机的方向。

    /**
     * Initialize the sensor manager.
     */
    private void setupSensorManager() {
        mSensorManager = (SensorManager) mContext
                .getSystemService(Context.SENSOR_SERVICE);
        mSensorManager.registerListener(mSensorListener,
                mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
                SensorManager.SENSOR_DELAY_NORMAL);
    
        Log.d(TAG, "SensorManager setup");
    }
    
    /**
     * The sensor event listener.
     */
    SensorEventListener mSensorListener = new SensorEventListener() {
    
        @Override
        public void onSensorChanged(SensorEvent event) {
            mOrientation = event.values[0];
            Log.d(TAG, "Phone Moved "+mOrientation);
            draw(mOrientation);
        }
    
        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }
    };
    

    这就是我真正轮换的地方。我的标记已添加到地图中。我正在从另一个班级访问它。

    public void draw(float angle) {
                // Take the relevant Marker from the marker list where available in map
        AndroidMapGoogleOverlayItem myself = (AndroidMapGoogleOverlayItem) getOverlayItem(0);
    
        if (myself == null) {
            return;
        }
        myself.getMarker().setRotation(mOrientation);  // set the orientation value returned from the senserManager
     }
    

    【讨论】:

    • 这需要任何权限吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2020-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    相关资源
    最近更新 更多