DeepEarthでは、地図のドラッグ&ドロップ動作を利用して、地図を操作する際のユーザーの選択、移動、描画などの操作モデルを標準化しています。 DeepEarth は、列挙構造を使用してマップ コントロール (Map) 内にカプセル化します。ソース コードは次のとおりです。
コード
/// <概要>
/// マップのドラッグ アンド ドロップ動作
/// </概要>
パブリック列挙型 DragBehavior
{
/// <概要>
/// 地図上の手の形のアイコンの点までマウスをドラッグし、マウスを放した位置に地図が表示されます。
/// </概要>
パンさん、
/// <概要>
///選択して地図上にマーキー グラフィックを描画します。マウスで選択を放すと、地図が拡大レベルで表示されます。
/// </概要>
選択して、
/// <概要>
/// 地図上にグラフィックを描画します。
/// </概要>
描く
}
DeepEarth のドラッグ アンド ドロップ動作は、デフォルトではマウス ドラッグ アンド ドロップ動作として定義されており、ユーザーが表示された地図上で地図を操作すると、マウスが手の形のアイコン ポイントに変わり、地図上で地図をドラッグします。マウスがドラッグを放すと、マップはマウスを放してドラッグした場所に位置します。デフォルトのドラッグ アンド ドロップ動作は、ソース コードで次のように定義されています。
//マップのドラッグ アンド ドロップ動作
プライベート DragBehavior _DragMode = DragBehavior.Pan;
マップのドラッグ アンド ドロップ動作については上で簡単に説明しましたが、開発中にマップのドラッグ アンド ドロップ動作を使用する方法を見てみましょう。実験としてインターフェイスにボタンを配置して切り替えることができます。ボタンをクリックしてマップのドラッグ アンド ドロップ動作を実行する機能:
コード
/// <概要>
/// マップのドラッグ アンド ドロップの動作を変更します
/// </概要>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnDragBehavior_Click(オブジェクト送信者、RoutedEventArgs e)
{
//現在のマップのドラッグ アンド ドロップ モードを決定し、2 つのモードを切り替えます。
スイッチ (mapInstance.DragMode)
{
Map.DragBehavior.Pan の場合:
MapInstance.DragMode = Map.DragBehavior.Select;
ToolTipService.SetToolTip(btnDragBehavior, "選択ズーム モードに切り替える");
btnDragBehavior.Content = "選択";
壊す;
Map.DragBehavior.Select の場合:
MapInstance.DragMode = Map.DragBehavior.Pan;
ToolTipService.SetToolTip(btnDragBehavior, "ドラッグ アンド ドロップ パン モードに切り替える");
btnDragBehavior.Content = "ドラッグ アンド ドロップ";
壊す;
}
}