微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ArcGIS API for Silverlight 鼠标移动显示地理坐标

<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 

效果如下图:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐