コンパスでmapViewを回転させる必要のあるアプリを開発しています。カメラを回転させる方法は知っていますが、コンパスを使用してmapViewを回転させる必要があります。中心点は現在の場所である必要があります。Maps V1のコードを見つけましたが、MapsV2で行う必要があります
質問する
20383 次
2 に答える
22
わかりました、私は自分でそれを理解しました。まず、コンパスから方位を計算する必要があります。その後、Maps api-2 カメラを回転させることができます。
public void updateCamera(float bearing) {
CameraPosition currentPlace = new CameraPosition.Builder()
.target(new LatLng(centerLatitude, centerLongitude))
.bearing(bearing).tilt(65.5f).zoom(18f).build();
googleMap.moveCamera(CameraUpdateFactory.newCameraPosition(currentPlace));
}
コードで設定し、イベントSensorListener
でこのメソッドを呼び出します。onSensorChanged
マップが 3D で回転するように傾斜値を追加しました。
于 2013-02-12T11:16:50.353 に答える
3
GoogleMap オブジェクトで getMyLocation メソッドにアクセスできます。これは最後に getBearing メソッドを含む Location オブジェクトを返します。これは、最後の既知の位置と現在の位置から計算されたフロート [0..360] を返します。0° は北軸、回転は時計のセンスです。
再開するには、次のようなコードを使用できます。
GoogleMap gMap = .....
float bearing = gMap.getMyLocation().getBearing();
CameraPosition newCamPos = new CameraPosition(latLngObject,
zoomValue,
tiltValue,
bearing);
gMap.animateCamera(CameraUpdateFactory.newCameraPosition(newCamPos), durationValue, null);
于 2016-07-07T13:42:13.533 に答える