ArcGIS API for Silverlight 滑鼠移動顯示地理座標

暖楓無敵發表於2012-05-30
<esri:Map x:Name="myMap"  ExtentChanged="myMap_ExtentChanged" WrapAround="True" IsLogoVisible="False" 
                  Extent="117.112306799734,29.3397854999517,118.981519200236,30.5753385000024"  MouseMove="myMap_MouseMove">
    <esri:Map.Layers>
         <esri:ArcGISDynamicMapServiceLayer ID="MyLayer"  Url="http://192.168.0.89/arcgis/rest/services/HSDynamic/MapServer/"/>
    </esri:Map.Layers>
</esri:Map>

#region 處理滑鼠在地圖上移動時,顯示地理座標

private void myMap_MouseMove(object sender, System.Windows.Input.MouseEventArgs args)
{
     if (myMap.Extent != null)
     {
          System.Windows.Point screenPoint = args.GetPosition(myMap);

          ESRI.ArcGIS.Client.Geometry.MapPoint mapPoint = myMap.ScreenToMap(screenPoint); 
          if (myMap.WrapAroundIsActive)
                    mapPoint = ESRI.ArcGIS.Client.Geometry.Geometry.NormalizeCentralMeridian(mapPoint) as ESRI.ArcGIS.Client.Geometry.MapPoint; 
          MapCoordsTextBlock.Text = string.Format("X = {0} , Y = {1}",
                Math.Round(mapPoint.X, 4), Math.Round(mapPoint.Y, 4));
      }
}

#endregion 

效果如下圖:

相關文章