Auto Free Zoom

この章ではオートフリーズームの表示や設定について紹介します。

オートフリーズームとは

ルート案内中に、案内地点に近づくと、自車位置と案内地点の両方が画面に収まる地図スケールに自動的に調整する機能です。
地図スケールは、自車位置から案内地点までの距離に応じて、徐々にズームインを行い、以下のように変化します。

自車位置から案内地点までの道沿い距離地図スケール
1000m500m
500m200m
200m100m
100m以下50m

auto_free_zoom

Note:

オートフリーズームによる地図スケールの変更は中間スケールを使用してシームレスに変更される。

オートフリーズームはマップモードがHEADING_UPもしくはNORTH_UPのみ行う。

オートフリーズーム中に、地図をスクロールした場合は、現在の地図スケールを維持してスクロールを行う。

再びマップモードをHEADING_UPもしくはNORTH_UPに変更した際に
現在の自車位置から次の案内地点までの距離により、オートフリーズームを行う。

オートフリーズーム中に、地図スケールを変更した場合は、オートフリーズームを一時停止する。
案内地点を通過後、再度オートフリーズームを行う。

オートフリーズームの設定方法

MapsetAutoFreeZoomEnabled()trueに設定すると有効、falseに設定すると無効になります。

オートフリーズームを有効にするサンプルコードは以下の通りです。

map.setAutoFreeZoomEnabled(true);

オートフリーズームの状態通知

MapaddOnAutoFreeZoomStateChangeListener()にてリスナーを追加すると
OnAutoFreeZoomStateChange()にてオートフリーズームの状態通知を受けることが出来ます。
リスナーの解除はMapremoveOnAutoFreeZoomStateChangeListener()にて可能です。

リスナーの追加・解除のサンプルコードは以下の通りです。

// オートフリーズーム状態変更リスナーを実装
OnAutoFreeZoomStateChangeListener listener = new OnAutoFreeZoomStateChangeListener() {
    @Override
    public void OnAutoFreeZoomStateChange(Map.AutoFreeZoomState state) {
        // オートフリーズームの状態通知
    }
};

// オートフリーズーム状態変更リスナーを追加
map.addOnAutoFreeZoomStateChangeListener(listener);

// オートフリーズーム状態変更リスナーを解除
map.removeOnAutoFreeZoomStateChangeListener(listener)

OnAutoFreeZoomStateChange()通知されるAutoFreeZoomStateは以下となります。

状態説明
STOPオートフリーズーム停止
RUNNINGオートフリーズーム動作中
INTERRUPTオートフリーズームを一時停止し
現在のズームレベルをキープ
WAITINGオートフリーズーム待機中