、[OK]をどちらかになりsensor managerとcamera
でそれを自分で実装する必要がありますここ1年後にこれをやるべきだと私は思う。問題があれば修正してください。
次のコードのほとんどは、座標系の不一致を扱っています。私は回転ベクトルセンサーを使用しています。一方、Googleマップのベアリングは、真北を指しているようです。 this page shows how the conversion is done
1)偏と磁北から軸受計算)あなたの現在のGPS位置
@Override
public void onLocationChanged(Location location) {
GeomagneticField field = new GeomagneticField(
(float)location.getLatitude(),
(float)location.getLongitude(),
(float)location.getAltitude(),
System.currentTimeMillis()
);
// getDeclination returns degrees
mDeclination = field.getDeclination();
}
2からの電流偏差を取得
@Override
public void onSensorChanged(SensorEvent event) {
if(event.sensor.getType() == Sensor.TYPE_ROTATION_VECTOR) {
SensorManager.getRotationMatrixFromVector(
mRotationMatrix , event.values);
float[] orientation = new float[3];
SensorManager.getOrientation(mRotationMatrix, orientation);
float bearing = Math.toDegrees(orientation[0]) + mDeclination;
updateCamera(bearing);
}
}
3)更新が
private void updateCamera(float bearing) {
CameraPosition oldPos = mMap.getCameraPosition();
CameraPosition pos = CameraPosition.builder(oldPos).bearing(bearing).build();
mMap.moveCamera(CameraUpdateFactory.newCameraPosition(pos));
}
役立ちました...私も、その機能について感謝を知りませんでした。私にとって、それはうまく動作する(v7) –
彼は、私は同じことをしたい、あなたがこれを行っている場合はあなたのソリューションを共有してください。 –