問題:如何實作地圖測距功能?
地圖工具欄

上面是工具欄代碼,測距的xaml代碼從中抽取如下:
代碼分析:
為圖檔Image添加Triggers,監聽Image的滑鼠左鍵按下事件,然後執行MeasureAction,目标是myMap地圖,測量方式是Polyline,機關是千米(Kilometers),符号使用的是一個靜态資源。
<esri:ToolbarItem Text="Measure Length">
<esri:ToolbarItem.Content>
<Image Source="Images/i_measure.png" Margin="5">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonDown">
<esri:MeasureAction TargetName="myMap" AreaUnit="SquareMeters" MeasureMode="Polyline" DistanceUnit="Kilometers" FillSymbol="{StaticResource DefaultFillSymbol}"
DisplayTotals="True" MapUnits="Kilometers"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Image>
</esri:ToolbarItem.Content>
</esri:ToolbarItem>
當按下測距按鈕時,可以在地圖上畫線測距了,效果如下圖:
注:其它要注意引用的地方
xmlns:esri="http://schemas.esri.com/arcgis/client/2009"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
<Grid.Resources>
<esri:SimpleFillSymbol x:Key="DefaultFillSymbol" BorderBrush="Red" BorderThickness="1"/>
</Grid.Resources>
===========================================================================
如果覺得對您有幫助,微信掃一掃支援一下: