【问题标题】:ESRI Map control PanToESRI 地图控制 PanTo
【发布时间】:2014-12-13 07:25:06
【问题描述】:
我正在尝试在某个纬度/经度上制作地图中心,但 Esri 地图控件使用它自己的 X/Y 坐标系。
control.MapControl.PanTo(new MapPoint(control.MapCenter.Latitude, control.MapCenter.Longitude));
此代码不起作用。是否有任何“转换”例程可以让 MapPoint 脱离 Lat/Lon 或者我应该怎么做?
【问题讨论】:
标签:
c#
silverlight
geolocation
esri
esri-maps
【解决方案1】:
我从lat/long(空间参考4326)转换为Esri坐标(空间参考102100)的方法如下:
// Create mappoint with lat/long coordinates
var mapPoint = new MapPoint(long, lat);
// Need to convert from Lat/Long to Esri
var webMercator = new WebMercator();
var converted = (MapPoint) webMercator.FromGeographic(mapPoint);
在进行转换步骤之前,您还可以检查mapPoint的空间参考,看是否需要转换。
【讨论】:
-
澄清一下:这不是“esri 坐标”。这些是墨卡托地图投影中的坐标(可能是因为您使用了一组将其置于该投影中的图层)。 Esri 地图控件可以与任何地图投影一起使用,但这也意味着如果您将经度/纬度地理坐标作为输入,则必须转换为该投影。另请查看新的 Esri .NET 地图控件,它将在大多数情况下为您执行此转换 (developers.arcgis.com/net)