ThinkGeo Cloud
ThinkGeo UI Controls
ThinkGeo Open Source
Help and Support
External Resources
ThinkGeo Cloud
ThinkGeo UI Controls
ThinkGeo Open Source
Help and Support
External Resources
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 { } }
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(); } } }