Example #1
0
        public GMapUserControl()
        {
            InitializeComponent();

            if (DesignerProperties.GetIsInDesignMode(this))
            {
                return;
            }

            cmbMapType.Items.Add(GMapProviders.GoogleMap);
            cmbMapType.Items.Add(GMapProviders.GoogleTerrainMap);
            cmbMapType.Items.Add(GMapProviders.GoogleSatelliteMap);
            cmbMapType.Items.Add(GMapProviders.BingMap);
            cmbMapType.Items.Add(GMapProviders.BingHybridMap);
            cmbMapType.Items.Add(GMapProviders.BingSatelliteMap);
            //cmbMapType.Items.Add(GMapProviders.YahooMap);
            //cmbMapType.Items.Add(GMapProviders.YahooHybridMap);
            //cmbMapType.Items.Add(GMapProviders.YahooSatelliteMap);
            //cmbMapType.Items.Add(GMapProviders.OviMap);
            //cmbMapType.Items.Add(GMapProviders.OviHybridMap);
            //cmbMapType.Items.Add(GMapProviders.OviSatelliteMap);
            //cmbMapType.Items.Add(GMapProviders.NearMap);
            //cmbMapType.Items.Add(GMapProviders.NearHybridMap);
            //cmbMapType.Items.Add(GMapProviders.NearSatelliteMap);

            // set cache mode only if no internet avaible
            if (!Stuff.PingNetwork("pingtest.com"))
            {
                GMap.Manager.Mode = AccessMode.CacheOnly;
                MessageBox.Show("No internet connection available, going to CacheOnly mode.", "GMap.NET - Demo.WindowsPresentation", MessageBoxButton.OK, MessageBoxImage.Warning);
            }

            //default config map
            GMap.MapProvider = GMapProviders.GoogleMap;

            //this.ScaleMode = ScaleModes.Dynamic;
            GMap.ShowCenter = false;
            GMap.IgnoreMarkerOnMouseWheel = true;
            GMap.MouseWheelZoomType       = MouseWheelZoomType.ViewCenter;

            // map events
            GMap.Loaded              += MainMap_Loaded;
            GMap.OnPositionChanged   += MainMap_OnCurrentPositionChanged;
            GMap.OnTileLoadStart     += MainMap_OnTileLoadStart;
            GMap.OnMapTypeChanged    += MainMap_OnMapTypeChanged;
            GMap.MouseMove           += MainMap_MouseMove;
            GMap.MouseLeftButtonDown += MainMap_MouseLeftButtonDown;
            GMap.MouseEnter          += MainMap_MouseEnter;
            GMap.OnMapZoomChanged    += MainMap_ZoomChanged;

            // set current marker
            _currentMarker              = new GMapMarker(GMap.Position);
            _currentMarkerUI            = new CustomMarkerRed(GMap, _currentMarker, "custom position marker");
            _currentMarkerUI.Visibility = Visibility.Hidden;
            _currentMarker.ZIndex       = int.MaxValue;
            GMap.Markers.Add(_currentMarker);

            _route.MouseWheel += (s, e) => { GMap.RaiseEvent(e); }; //routing event to GMap under car image

            GMap.Position = new PointLatLng(40.754910, -73.994100); //Time Square, NYC
        }