Пример #1
0
        /// <summary>
        /// Gets <see cref="GeographicMapImagery"/> from specified imagery source, <see cref="GeoImagerySource"/>
        /// </summary>
        public static GeographicMapImagery GetGeographicMapImagery(GeoImagerySource imagerySource)
        {
            GeoImageryViewModel imageryView = GeoImageryViews.OpenStreetMap.DefaultImageryView;

            if (imagerySource == GeoImagerySource.BingMapsImagery)
            {
                imageryView = GeoImageryViews.BingMaps.StreetImageryView;
            }

            else if (imagerySource == GeoImagerySource.MapQuestImagery)
            {
                imageryView = GeoImageryViews.MapQuest.StreetImageryView;
            }

            else if (imagerySource == GeoImagerySource.EsriMapImagery)
            {
                imageryView = GeoImageryViews.Esri.WorldTopographicMap;
            }

            else if (imagerySource == GeoImagerySource.OpenStreetMapImagery)
            {
                imageryView = GeoImageryViews.OpenStreetMap.DefaultImageryView;
            }

            return(GetGeographicMapImagery(imageryView));
        }
Пример #2
0
        private void ImageryButton_Click(object sender, RoutedEventArgs e)
        {
            var context     = (sender as Button).DataContext;
            var imageryView = (context as GeoImageryViewModel);

            this.ImageryViewSource = imageryView;
        }
Пример #3
0
 private void UpdateImageryView(GeoImageryViewModel geoImageryView)
 {
     if (this.MagnificationMap != null && geoImageryView != null)
     {
         this.MagnificationMap.LoadGeoImagery(geoImageryView);
     }
 }
Пример #4
0
 /// <summary>
 /// Loads geo-imagery from specified imagery view and preserves settings of GeographicTileSeries' TileImagery
 /// <remarks>Supported imagery views: <see cref="OpenStreetMapImageryView"/>, <see cref="BingMapsImageryView"/>,
 /// <see cref="EsriMapImageryView"/>, and <see cref="MapQuestImageryView"/></remarks>
 /// </summary>
 public static void LoadGeoImagery(this GeographicTileSeries geoSeries, GeoImageryViewModel imageryViewModel)
 {
     if (geoSeries == null)
     {
         DebugManager.LogWarning("GeoSeriesAdapter cannot load geo-imagery when GeographicTileSeries is null"); return;
     }
     //geoSeriesImager.geoSeries = geoSeries;
     geoSeries.TileImagery.SaveMapImagerySettings();
     geoSeries.TileImagery = imageryViewModel.GetGeographicMapImagery();
     geoSeries.TileImagery.LoadMapImagerySettings();
 }
Пример #5
0
        /// <summary>
        /// Loads geo-imagery from specified imagery view and preserves settings of XamGeographicMap's BackgroundContent
        /// <remarks>Supported imagery views: <see cref="OpenStreetMapImageryView"/>, <see cref="BingMapsImageryView"/>,
        /// <see cref="EsriMapImageryView"/>, and <see cref="MapQuestImageryView"/></remarks>
        /// </summary>
        public static void LoadGeoImagery(this XamGeographicMap geoMap, GeoImageryViewModel imageryViewModel)
        {
            if (geoMap == null)
            {
                DebugManager.LogWarning("GeoMapImager cannot load geo-imagery when XamGeographicMap is null"); return;
            }
            GeoMapImager.GeoMap = geoMap;

            geoMap.SaveMapImagerySettings();
            geoMap.BackgroundContent = imageryViewModel.GetGeographicMapImagery();
            geoMap.LoadMapImagerySettings();
        }
Пример #6
0
        ///// <summary>
        ///// Loads geo-imagery from specified imagery view and preserves settings of GeographicTileSeries' TileImagery
        ///// <remarks>Supported imagery views: <see cref="OpenStreetMapImageryView"/>, <see cref="BingMapsImageryView"/>,
        ///// <see cref="EsriMapImageryView"/>, and <see cref="MapQuestImageryView"/></remarks>
        ///// </summary>
        //public static void LoadGeoImagery(this GeographicTileSeries geoTileSeries, GeoImageryViewModel imageryViewModel)
        //{
        //    if (geoTileSeries == null)
        //    {
        //        DebugManager.LogWarning("GeoMapImager cannot load geo-imagery when GeographicTileSeries is null"); return;
        //    }

        //    geoTileSeries.TileImagery.SaveMapImagerySettings();
        //    geoTileSeries.TileImagery = imageryViewModel.GetGeographicMapImagery();
        //    geoTileSeries.TileImagery.LoadMapImagerySettings();
        //}
        //private static bool IsFirstKeyReservedWarning = true;
        public static void LoadGeoImagery22(this XamGeographicMap geoMap, GeoImageryViewModel imageryViewModel)
        {
            if (geoMap == null)
            {
                DebugManager.LogWarning("22 XamGeographicMap cannot be null"); return;
            }

            GeoMapImager.GeoMap = geoMap;
            if (geoMap.BackgroundContent is GeographicMapImagery)
            {
                (geoMap.BackgroundContent as GeographicMapImagery).SaveMapImagerySettings();
            }
        }
Пример #7
0
        /// <summary>
        /// Creates <see cref="GeographicMapImagery"/> from specified imagery view model, <see cref="GeoImageryViews"/>
        /// </summary>
        public static GeographicMapImagery GetGeographicMapImagery(GeoImageryViewModel imageryViewModel)
        {
            GeographicMapImagery geoImagery = new OpenStreetMapImagery();

            #region Open Street Map Imagery
            if (imageryViewModel.ImagerySource == GeoImagerySource.OpenStreetMapImagery && OpenStreetMapImageryConfig.ImageryIsEnabled)
            {
                geoImagery = new OpenStreetMapImagery();
            }
            #endregion
            #region ESRI Map Imagery
            else if (imageryViewModel.ImagerySource == GeoImagerySource.EsriMapImagery && EsriMapImageryConfig.ImageryIsEnabled)
            {
                var vm = (EsriMapImageryView)imageryViewModel;
                geoImagery = new ArcGISOnlineMapImagery {
                    MapServerUri = vm.ImageryServer
                };
            }
            #endregion
            #region Map Quest Imagery
            else if (imageryViewModel.ImagerySource == GeoImagerySource.MapQuestImagery && MapQuestImageryConfig.ImageryIsEnabled)
            {
                var vm = (MapQuestImageryView)imageryViewModel;
                if (vm.ImageryStyle == MapQuestImageryStyle.StreetMapStyle)
                {
                    geoImagery = new MapQuestStreetImagery();
                }
                else if (vm.ImageryStyle == MapQuestImageryStyle.SatelliteMapStyle)
                {
                    geoImagery = new MapQuestSatelliteImagery();
                }
            }
            #endregion
            #region Bing Map Imagery
            else if (imageryViewModel.ImagerySource == GeoImagerySource.BingMapsImagery && BingMapImageryConfig.ImageryIsEnabled)
            {
                var vm = (BingMapsImageryView)imageryViewModel;
                var geoImageryStyle = (Infragistics.Controls.Maps.BingMapsImageryStyle)vm.ImageryStyle;

                if (vm.ImageryKey == string.Empty)
                {
                    vm.ImageryKey = BingMapImageryConfig.ImageryKey;
                }
                if (vm.IsImageryKeyValid())
                {
                    geoImagery = new BingMapsMapImagery {
                        ImageryStyle = geoImageryStyle, ApiKey = vm.ImageryKey
                    };
                }
                else
                {
                    DebugManager.LogWarning("Geographic Imagery view model is missing key for Bing Map!");
                }
                //var bingMapsConnector = new BingMapsConnector();
                //    //bingMapsConnector.ImageryInitialized += (o, e) =>
                //    //{
                //    //    var connector = (BingMapsConnector)o;
                //    //    geoMap.BackgroundContent =
                //    //        new BingMapsMapImagery()
                //    //        {
                //    //            TilePath = connector.TilePath,
                //    //            SubDomains = connector.SubDomains
                //    //        };
                //    //};
                //bingMapsConnector.ImageryInitialized += OnImageryInitialized;
                //bingMapsConnector.ImageryStyle = vm.ImageryStyle;
                //bingMapsConnector.ApiKey = vm.ImageryKey;
                //bingMapsConnector.Initialize();
            }
            #endregion
            return(geoImagery);
        }