天天看點

ArcGIS API for Silverlight實作地圖測距功能

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

地圖工具欄

ArcGIS API for Silverlight實作地圖測距功能

上面是工具欄代碼,測距的xaml代碼從中抽取如下:

ArcGIS API for Silverlight實作地圖測距功能

代碼分析:

為圖檔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>

當按下測距按鈕時,可以在地圖上畫線測距了,效果如下圖:

ArcGIS API for Silverlight實作地圖測距功能

注:其它要注意引用的地方

 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>

===========================================================================

如果覺得對您有幫助,微信掃一掃支援一下:

ArcGIS API for Silverlight實作地圖測距功能

繼續閱讀