0

我有一個地圖API V2片段。 並已啓用指南針。 雙指旋轉地圖後,可點擊指南針重置地圖旋轉。 指南針點擊後如何計算出旋轉角度?指南針點擊後的地圖旋轉

+0

的角度,你可以投票了答案好嗎? – 2014-12-04 14:32:23

回答

0

使用GoogleMap#getCameraPosition().bearing

0

使用傳感器來獲得旋轉

private float[] mapGravity; 
private float[] mapMagnetic; 

private float getmapDirection() 
{ 

    float[] maptemp = new float[9]; 
    float[] mapR = new float[9]; 
    //Load rotation matrix into mapR 
    SensorManager.getRotationMatrix(temp, null, 
      mapGravity, mapMagnetic); 


    SensorManager.remapCoordinateSystem(map_temp, 
      SensorManager.AXIS_X, 
      SensorManager.AXIS_Z, mapR); 

    //Return the orientation values 
    float[] values = new float[3]; 
    SensorManager.getOrientation(mapR, values); 

    //Converting to degrees 
    for (int i=0; i < values.length; i++) { 
     Double degrees = (values[i] * 180)/Math.PI; 
     values[i] = degrees.floatValue(); 
    } 

    return values[0]; 

} 

@Override 
public void onSensorChanged(SensorEvent event) { 
    switch(event.sensor.getType()) { 

    case Sensor.TYPE_ACCELEROMETER: 
     mapGravity = event.values.clone(); 
     break; 
    case Sensor.TYPE_MAGNETIC_FIELD: 
     mapMagnetic = event.values.clone(); 
     break; 
    default: 
     return; 
    } 
    if(mapGravity != null && mapMagnetic != null) { 
     getDirection(); 
    } 
    } 
+0

當我旋轉手機時,我使用傳感器來獲得旋轉。但是當指南針被按下時,它不會使用傳感器,它會旋轉地圖。 – SpyZip 2014-12-04 13:53:26