地図表示設定はマネージャーの IlvDisplayPreferencesProperty およびその基底となる IlvDisplayPreferences を介してアクセス可能です。これは地図を表示するときにユーザー設定を示す役割を果たします。
このセクションで説明されているコードをすべて含む マップ・ビルダー のデモ用ソース・コードについては、
<installdir>
/jviews-maps89/samples/mapbuilder/index.html をご覧ください。
表示設定は、以下を共有するために使用されます。
- 高度に関して優先使用される単位および形式
- 距離に関して優先使用される単位および形式
- 地球座標を示すのに優先使用される座標フォーマッター
- 測地計算がアクティブになっているかどうかの表示
表示設定へのアクセス
表示設定には、以下を呼び出してアクセスできます。
IlvDisplayPreferences pref = IlvDisplayPreferencesProperty.GetDisplayPreferences(manager);
このメソッドは、 IlvDisplayPreferences の最後のインスタンス・セットを作成するか、または返します。
表示設定の使用
IlvJMouseCoordinateViewer Bean は、マウスが地図上を移動するときに座標および高度情報をフォーマットする設定を使用します。
IlvJAutomaticScaleBar も、地図距離単位をアプリケーションの設定に適用させるためにこのプロパティーの通知を受け取ります。
測定 (または IlvMapOrthodromyPath) の作成時に、測定長を含めるために特定の
IlvDistanceAttribute
プロパティーが付加されます。このプロパティーは、設定内の優先距離単位を考慮してそれ自体を表示します。 IlvCoordinatePanelFactory は、ビュー上で選択された座標をどのように表示するかを知るために座標形式を取得する必要があります。これはユーザーが編集可能です。通常、現在の設定の座標フォーマッターを取得してこれを行う必要があります。
IlvDisplayPreferences prefs = IlvDisplayPreferencesProperty.GetDisplayPreferences(manager); IlvCoordinateFormatter formatter= prefs.getCoordinateFormatter(); JPanel coordPicker=new IlvCoordinatePanelFactory.CoordPointInputPanel(view,formatter);
表示設定の変更を通知するリスナーの追加
名前を付けたプロパティー・リスナーをマネージャーに追加して、(表示設定エディターにトリガーされたものなど) このプロパティーの変更の通知を受け取ることができます。
manager.addNamedPropertyListener(new NamedPropertyListener() { public void propertyChanged(NamedPropertyEvent event) { if(event.getNewValue() instanceof IlvDisplayPreferencesProperty){ IlvDisplayPreferencesProperty prop=(IlvDisplayPreferencesProperty)event.getNewValue(); IlvDisplayPreferences preferences=prop.getDisplayPreferences(); // manage the new preferences ... } } });
測地計算
すべてのデータ・ソースでは、重要なユーザー選択である測地計算のアクティブ化にレンダリングを適用させるために表示設定プロパティーを使用します。
測地計算が有効になっていると、すべての多角形のような地図機能は、 IlvGeodeticPathComputation を使用して一連の大圏コースへとレンダリングされます (「大圏コース・メジャー」を参照)。多角形のセグメントが画面の異なる側に 2 つの末端があると、その多角形は多くの領域に切断され、画面上で分離されますが、同じ地図機能を表しています。