0
我有使用ESRI Maps控件的WPF应用程序。这是我的XAML和C#代码。问题是它显示我在地图上的针点,但它显示我在一个错误的地方,即某处非洲。我认为它将握持和经度作为0,0即中心。任何人都可以帮助我解决地图问题,指向正确的位置。Esri Arcgis地图无法显示正确的Pin Points WPF
<Border CornerRadius="10" BorderThickness="10" Background="LightBlue">
<!--ESRI-->
<esri:Map Name="DashboardMap" Width="550" Height="300" BorderThickness="3" WrapAround="True" IsLogoVisible="False" Loaded="DashboardMap_Loaded" Margin="5,5,0,0">
</esri:Map>
</Border>
这是我的CS代码。
private void DashboardMap_Loaded(object sender, RoutedEventArgs e)
{
Layer Arlayer = new ArcGISTiledMapServiceLayer
{
ID = "StreetLayer",
Url = "http://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer"
};
DashboardMap.Layers.Add(Arlayer);
}
GraphicsLayer layer;
MapPoint point = new MapPoint(37.428433999999996, -122.0723816);
point.SpatialReference = new SpatialReference(102100);
//point.SpatialReference = new SpatialReference(4326);
//point.SpatialReference = DashboardMap.SpatialReference;
layer = new GraphicsLayer();
layer.Visible = true;
ESRI.ArcGIS.Client.Symbols.SimpleMarkerSymbol symbol = new ESRI.ArcGIS.Client.Symbols.SimpleMarkerSymbol();
symbol.Color = new System.Windows.Media.SolidColorBrush(Colors.Red);
symbol.Style = ESRI.ArcGIS.Client.Symbols.SimpleMarkerSymbol.SimpleMarkerStyle.Circle;
symbol.Size = 15;
Graphic graphic = new Graphic();
graphic.Symbol = symbol;
graphic.Geometry = point;
graphic.SetZIndex(1);
layer.Graphics.Add(graphic);
DashboardMap.Layers.Add(layer);
}
}
如何EPSG:4326?我猜EPSG中的坐标:102100是以米为单位,而不是度数。 – Clemens
是的,当我使用4326它标志着丹麦。但仍然属于美国加利福尼亚的经纬度。 – nikhil
MapPoint构造函数需要参数x和y,因此首先是经度然后是纬度。 – Clemens