コード例 #1
0
        private void OnGotoXYCoordinates(object obj)
        {
            try
            {
                var gitem = obj as GotoItem;

                var sr = SpatialReferences.Wgs84;

                if (gitem != null)
                {
                    MapPoint mp;

                    switch (gitem.Format)
                    {
                    case "DD":
                        mp = ConvertCoordinate.FromDecimalDegrees(gitem.Coordinate, sr);
                        break;

                    case "DDM":
                        mp = ConvertCoordinate.FromDegreesDecimalMinutes(gitem.Coordinate, sr);
                        break;

                    case "DMS":
                        mp = ConvertCoordinate.FromDegreesMinutesSeconds(gitem.Coordinate, sr);
                        break;

                    case "GARS":
                        mp = ConvertCoordinate.FromGars(gitem.Coordinate, sr, GarsConversionMode.Center);
                        break;

                    case "GEOREF":
                        mp = ConvertCoordinate.FromGeoref(gitem.Coordinate, sr);
                        break;

                    case "MGRS":
                        mp = ConvertCoordinate.FromMgrs(gitem.Coordinate, sr, MgrsConversionMode.Automatic);
                        break;

                    case "USNG":
                        mp = ConvertCoordinate.FromUsng(gitem.Coordinate, sr);
                        break;

                    case "UTM":
                        mp = ConvertCoordinate.FromUtm(gitem.Coordinate, sr, UtmConversionMode.None);
                        break;

                    default:
                        mp = ConvertCoordinate.FromDecimalDegrees(gitem.Coordinate, SpatialReferences.Wgs84);
                        break;
                    }

                    if (mp != null)
                    {
                        if (!String.IsNullOrWhiteSpace(gitem.Scale))
                        {
                            _mapView.SetViewAsync(mp, Convert.ToDouble(gitem.Scale));
                        }
                        else
                        {
                            _mapView.SetViewAsync(mp);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Failed to convert coordinate.");
                    }
                }
            }
            catch
            {
                MessageBox.Show("Failed to convert coordinate.");
            }
        }
コード例 #2
0
        public void JumpToPoint(string pointString)
        {
            MapPoint point = ConvertCoordinate.FromDecimalDegrees(pointString, RooSceneView.SpatialReference);

            RooSceneView.SetViewAsync(new Camera(point.Y, point.X, 1000, 0, 0));
        }