Googleマップandroid API v2では、現在の地図のズームレベルはどのように取得できますか? API v1では、以前はfloat MapView.getZoomLevel()
でしたが、私が使用しているAPIバージョンには何も似ていないようですが、Googleではこれを推奨しています。現在のGoogleマップのズームレベルを取得するにはどうすればよいですか?
私はクラス変数を使用してズームボタンのクリックリスナーでズームレベルを手動で保存することを考えましたが、ピンチタイプのズームの問題は解決しません。
なぜ現在のズームレベルが必要ですか?私はマップの範囲を特定の矩形に制限しています。そうでない場合は、この矩形を残してバウンスする動きが必要です。このアニメーションでは、ズームレベルを使用する必要があります。ズームレベルがないと、デフォルトの最大ズームレベルが使用されます。私が本当に望むのは、移動を試みる前にズームレベルを維持することです。
protected void recenterMap() {
map.getMinZoomLevel();
if(MAP_BOUNDS.contains(map.getCameraPosition().target) == false) {
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(MAP_CENTER)
.zoom(current_zoom)
.build();
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
} else {
MAP_CENTER = map.getCameraPosition().target;
}
}
変数current_zoom
は私が定義するために必要なものであることに注意してください。
(それはAndroid自体に触れてからしばらくしています) –
うわー、クラスから直接ズームを得ることは期待できませんでした! – jhc
嬉しいです:) Androidの非有用なAPIドキュメントへようこそ。 –