DeepEarth 將地圖操作模型封裝為 DragBehavior 枚舉:
public enum DragBehavior
{
///
/// 滑鼠變手型,拖曳地圖平移,釋放時定位於釋放位置。
///
Pan,
///
/// 框選矩形區域,釋放時放大至選取範圍。
///
Select,
///
/// 在地圖上繪製圖形。
///
Draw
}
// 地圖拖放行為
private DragBehavior _DragMode = DragBehavior.Pan;
在介面放置按鈕,點擊切換 Pan/Select 模式:
private void btnDragBehavior_Click(object sender, RoutedEventArgs e)
{
switch (mapInstance.DragMode)
{
case Map.DragBehavior.Pan:
mapInstance.DragMode = Map.DragBehavior.Select;
ToolTipService.SetToolTip(btnDragBehavior, "切換到選擇放大模式");
btnDragBehavior.Content = "選擇";
break;
case Map.DragBehavior.Select:
mapInstance.DragMode = Map.DragBehavior.Pan;
ToolTipService.SetToolTip(btnDragBehavior, "切換到拖放平移模式");
btnDragBehavior.Content = "拖放";
break;
}
}

參考前文《探索 DeepEarth 內建控制項》將按鈕移至功能導航選單,並改用圖示:

此機制可擴展實現:地圖標記、點選、框選等複雜操作,後續文章將詳細介紹。