User Tools

Site Tools


source_code_wpfdesktopeditionsample_combiningoverlays_101011.zip

Source Code WpfDesktopEditionSample CombiningOverlays 101011.zip

App.xaml.cs

 using System;  
 using System.Collections.Generic;  
 using System.Configuration;  
 using System.Data;  
 using System.Linq;  
 using System.Windows;  
 
 namespace CombiningOverlays  
 {  
     /// <summary>  
     /// Interaction logic for App.xaml  
     /// </summary>  
     public partial class App : Application  
     {  
     }  
 }  
 

TestWindow.xaml.cs

 using System;  
 using System.Collections.Generic;  
 using System.Linq;  
 using System.Text;  
 using System.Windows;  
 using System.Windows.Controls;  
 using System.Windows.Data;  
 using System.Windows.Documents;  
 using System.Windows.Input;  
 using System.Windows.Media;  
 using System.Windows.Media.Imaging;  
 using System.Windows.Shapes;  
 using System.Collections.ObjectModel;  
 using ThinkGeo.MapSuite.Core;  
 using ThinkGeo.MapSuite.WpfDesktopEdition;  
 
 namespace CombiningOverlays  
 {  
     /// <summary>  
     /// Interaction logic for TestWindow.xaml  
     /// </summary>  
     public partial class TestWindow : Window  
     {  
         public TestWindow()  
         {  
             InitializeComponent();  
         }  
 
         private void Window_Loaded(object sender, RoutedEventArgs e)  
         {  
             //Sets the correct map unit and the extent of the map.  
             wpfMap1.MapUnit = GeographyUnit.DecimalDegree;  
             wpfMap1.CurrentExtent = new RectangleShape(-131.22, 55.05, -54.03, 16.91);  
 
             //Adds the WorldMapKit as a background.  
             WorldMapKitWmsWpfOverlay worldMapKitOverlay = new WorldMapKitWmsWpfOverlay();  
             wpfMap1.Overlays.Add(worldMapKitOverlay);  
 
             //Adds the Shapefile MajorCities as a ShapeFileFeatureLayer between zoom levels 01 and 04.  
             ShapeFileFeatureLayer shapeFileFeatureLayer = new ShapeFileFeatureLayer(@"..\..\Data\MajorCities.shp");  
             shapeFileFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = PointStyles.CreateSimpleCircleStyle(GeoColor.StandardColors.Turquoise, 8, GeoColor.StandardColors.Black);  
             shapeFileFeatureLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level04;  
             //Adds the ShapeFileFeatureLayer to an LayerOverlay.  
             LayerOverlay layerOverlay = new LayerOverlay();  
             layerOverlay.Layers.Add(shapeFileFeatureLayer);  
             wpfMap1.Overlays.Add(layerOverlay);  
 
             //Uses FeatureSourceMakerOverlay between zoom levels 04 and 20.  
             FeatureSourceMarkerOverlay markerOverlay = new FeatureSourceMarkerOverlay();  
             //Takes the ShapeFileFeatureSource of the ShapeFileFeatureLayer as a FeatureSource of the MarkerOverlay.  
             ShapeFileFeatureSource shapeFileFeatureSource = (ShapeFileFeatureSource)shapeFileFeatureLayer.FeatureSource;  
             markerOverlay.FeatureSource = shapeFileFeatureSource;  
 
             //Here we take advantage of the many properties of MarkerOverlay such as ImageSource and Tooltip.  
             markerOverlay.ZoomLevelSet.ZoomLevel04.DefaultPointMarkerStyle.ImageSource = new BitmapImage(new Uri("/Resources/AQUA.png", UriKind.RelativeOrAbsolute));  
             markerOverlay.ZoomLevelSet.ZoomLevel04.DefaultPointMarkerStyle.Width = 20;  
             markerOverlay.ZoomLevelSet.ZoomLevel04.DefaultPointMarkerStyle.Height = 34;  
             markerOverlay.ZoomLevelSet.ZoomLevel04.DefaultPointMarkerStyle.YOffset = -17;  
             markerOverlay.ZoomLevelSet.ZoomLevel04.DefaultPointMarkerStyle.ToolTip = "This is [#AREANAME#].";  
             markerOverlay.ZoomLevelSet.ZoomLevel04.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;  
 
             wpfMap1.Overlays.Add("MarkerOverlay", markerOverlay);  
 
             wpfMap1.Refresh();  
         }  
 
         private void wpfMap1_MouseMove(object sender, MouseEventArgs e)  
         {  
             //Gets the PointShape in world coordinates from screen coordinates.  
             Point point = e.MouseDevice.GetPosition(null);  
 
             ScreenPointF screenPointF = new ScreenPointF((float)point.X, (float)point.Y);  
             PointShape pointShape = ExtentHelper.ToWorldCoordinate(wpfMap1.CurrentExtent, screenPointF, (float)wpfMap1.Width, (float)wpfMap1.Height);  
 
             textBox1.Text = "X: " + Math.Round(pointShape.X) +  
                           "  Y: " + Math.Round(pointShape.Y);  
 
            }  
         }  
 }  
 
source_code_wpfdesktopeditionsample_combiningoverlays_101011.zip.txt · Last modified: 2015/09/08 07:46 by admin