GoogleMapで現在のズームレベルを整数として取得するにはどうすればよいですか。 GMaps v1.1からこのコードを取得する必要があります。
MapView mGoogleMapView;
int zoomLevel = mGoogleMapView.getZoomLevel();
メソッドgetMinZoomLevel()およびgetMaxZoomLevel()を知っていますが、Android GMap V2のドキュメントで現在のズームレベルを提供するものは見つかりません。これをする?
任意の助けをいただければ幸いです。
GoogleMap map;
....
float zoom = map.getCameraPosition().zoom;
OnCameraChangeListenerがうまくいくと思います。
map.setOnCameraChangeListener(new OnCameraChangeListener() {
private float currentZoom = -1;
@Override
public void onCameraChange(CameraPosition position) {
if (position.zoom != currentZoom){
currentZoom = position.zoom; // here you get zoom level
}
}
});
更新:
Google Playサービス9.4.0からOnCameraChangeListenerは廃止され、すぐには機能しなくなります。代わりにOnCameraMoveStarted Listener、OnCameraMoveListener 、OnCameraMoveCancel edListenerおよびOnCameraIdleListener.
したがって、ここでOnCameraIdleListenerを使用して、カメラの現在のズームレベルを取得できます。
コードサンプル:
map.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener() {
@Override
public void onCameraIdle() {
int zoomLevel = map.getCameraPosition().zoom;
//use zoomLevel value..
}
});
getCameraPosition()
をGoogleMap
で呼び出し、結果の zoom
オブジェクト のCameraPosition
フィールドを読み取ります=。