User Tools

Site Tools


source_code_wpfdesktopeditionsample_magneticdeclination.zip

Source Code WpfDesktopEditionSample MagneticDeclination.zip

App.xaml.cs

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

MainWindow.xaml.cs

 using System;  
 using System.Windows;  
 using System.Windows.Controls;  
 using System.Windows.Input;  
 using ThinkGeo.MapSuite.Core;  
 using ThinkGeo.MapSuite.WpfDesktopEdition;  
 
 namespace MagneticDeclination  
 {  
     /// <summary>  
     /// Interaction logic for MainWindow.xaml  
     /// </summary>  
     public partial class MainWindow : Window  
     {  
         private MagneticDeclinationAdornmentLayer magneticDeclinationAdornmentLayer;  
 
         public MainWindow()  
         {  
             InitializeComponent();  
         }  
 
         private void Window_Loaded(object sender, RoutedEventArgs e)  
         {  
             //Add World Map Kit.  
             wpfMap1.Overlays.Add(new WorldMapKitWmsWpfOverlay());  
 
             //Create a MagneticDeclinationAdornmentLayer and add to AdornmentOverlay.  
             magneticDeclinationAdornmentLayer = new MagneticDeclinationAdornmentLayer() { Location = (AdornmentLocation)(cmbLocation.SelectedIndex + 1) };  
             magneticDeclinationAdornmentLayer.TrueNorthPointStyle.SymbolSize = 25;  
             magneticDeclinationAdornmentLayer.TrueNorthLineStyle.InnerPen.Width = 2f;  
             magneticDeclinationAdornmentLayer.TrueNorthLineStyle.OuterPen.Width = 5f;  
             magneticDeclinationAdornmentLayer.MagneticNorthLineStyle.InnerPen.Width = 2f;  
             magneticDeclinationAdornmentLayer.MagneticNorthLineStyle.OuterPen.Width = 5f;  
 
             wpfMap1.AdornmentOverlay.Layers.Add(magneticDeclinationAdornmentLayer);  
 
             //move map to usa.  
             wpfMap1.CurrentExtent = new RectangleShape(-148.0517578125, 61.875, -61.5673828125, 10.01953125);  
 
             //add mouse move event handler  
             wpfMap1.MouseMove += new MouseEventHandler(wpfMap1_MouseMove);  
         }  
 
         private void cmbLocation_SelectionChanged(object sender, SelectionChangedEventArgs e)  
         {  
             //change magneticDeclinationAdornmentLayer location  
             if (magneticDeclinationAdornmentLayer != null)  
             {  
                 magneticDeclinationAdornmentLayer.Location = (AdornmentLocation)(cmbLocation.SelectedIndex + 1);  
                 magneticDeclinationAdornmentLayer.XOffsetInPixel = magneticDeclinationAdornmentLayer.Location == AdornmentLocation.UpperRight ? -220 : 0;  
                 wpfMap1.Refresh();  
             }  
         }  
 
         private void wpfMap1_MouseMove(object sender, MouseEventArgs e)  
         {  
             wpfMap1.AdornmentOverlay.Refresh();  
         }  
     }  
 }  
 
source_code_wpfdesktopeditionsample_magneticdeclination.zip.txt · Last modified: 2015/09/09 03:38 by admin