문제

Google지도 v2에서 화살표 헤드를 회전시키는 방법에 도움이 될 수 있습니까? 당신은 네비게이션에서 화살표가 우리가 직면 한 방향으로 회전하고 있음을 보았습니다. 내 앱에이를 구현하고 싶습니다. 나는 붉어졌다 markerOption.rotation(rotation) 이것은 정적 인 것 같습니다. 전화를 회전 할 때 화살표를 동적으로 회전하고 싶습니다.

도움이 되었습니까?

해결책

나는 그렇게 할 수 있었다. 너무 쉽습니다. 아래는 방법입니다. 이것은 센서를 읽고 전화 방향을 가져 오는 것입니다.

/**
 * 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
 }
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top