private void InitializeMarkers(IEnumerable <object> addedItems) { if (gMapControl == null) { return; } foreach (object addedItem in addedItems) { double lat = Convert.ToDouble(MarkerLatitudePropertyInfo.GetValue(addedItem, null)); double lng = Convert.ToDouble(MarkerLongitudePropertyInfo.GetValue(addedItem, null)); var title = (string)MarkerToolTipPropertyInfo.GetValue(addedItem, null); var point = new PointLatLng(lat, lng); var gmapMarker = new GMapMarker(point) { Tag = addedItem }; var markerControl = new DynamicGMapMarkerControl(gmapMarker); markerControl.SetValue(DynamicGMapMarkerControl.TitleProperty, title); gmapMarker.Shape = markerControl; gMapControl.Markers.Add(gmapMarker); } gMapControl.ZoomAndCenterMarkers(null); }
public void ParseMaps(float latitude, float longitude, UInt16 zoom, UInt16 satellite, byte mode) { //...TEXT if ((mode == (byte)c_GRAPH_UPDATE_MODE.Text) || (mode == (byte)c_GRAPH_UPDATE_MODE.Both)) { m_LblGeneral[(UInt16)LABEL_LIST.Latitude].Text = latitude.ToString(); m_LblGeneral[(UInt16)LABEL_LIST.Longitude].Text = longitude.ToString(); m_LblGeneral[(UInt16)LABEL_LIST.Satellite].Text = satellite.ToString(); } //...MAPS if ((mode == (byte)c_GRAPH_UPDATE_MODE.Graph) || (mode == (byte)c_GRAPH_UPDATE_MODE.Both)) { string url = Utils.MyConfig.s_MapsProvider; url = url.Replace(@"LATITUDE", latitude.ToString()); url = url.Replace(@"LONGITUDE", longitude.ToString()); m_MapPos.Position = new PointLatLng(latitude, longitude); m_GMap.ZoomAndCenterMarkers(GMAP_OVERLAY_1); if (zoom > 0) { m_GMapZoom = zoom; } m_GMap.Zoom = m_GMapZoom; } }
private void BuildGMapControl(GMapControl gmapControl) { if (gmapControl == null) { return; } if (DataContext == null) { gmapControl.Markers.Clear(); return; } gmapControl.MapProvider = OpenStreetMapProvider.Instance; gmapControl.DragButton = MouseButton.Left; var addedItems = DataContext.As <IEnumerable <object> >(); InitializeMarkers(addedItems); gmapControl.ZoomAndCenterMarkers(null); //build context menu var contextMenu = new ContextMenu(); var menuItem = new MenuItem { Header = "Maps" }; foreach (GMapProvider gMapProvider in GMapProviders.List) { var childMenuItem = new MenuItem { Header = gMapProvider.Name, Tag = gMapProvider }; childMenuItem.Click += (o, e) => { var mi = o as MenuItem; if (mi == null) { return; } //setting the MapProvider var gmapProvider = (GMapProvider)mi.Tag; gmapControl.MapProvider = gmapProvider; gmapControl.MinZoom = gmapProvider.MinZoom; gmapControl.MaxZoom = gmapProvider.MaxZoom.HasValue ? gmapProvider.MaxZoom.Value : 24; }; menuItem.Items.Add(childMenuItem); } contextMenu.Items.Add(menuItem); SetValue(ContextMenuProperty, contextMenu); }
static void addtomap(PointLatLngAlt pos, string tag) { if (map != null) { polygons.Markers.Add(new GMarkerGoogle(pos, GMarkerGoogleType.blue) { ToolTipText = tag, ToolTipMode = MarkerTooltipMode.Always }); map.ZoomAndCenterMarkers("polygons"); } }
private void ZoomAndCenterMarkers() { fMapControl.ZoomAndCenterMarkers(null); }
private void InitControl() { fMapControl = new GMapControl { Bearing = 0F, CanDragMap = true, Dock = DockStyle.Fill, EmptyTileColor = Color.Navy, GrayScaleMode = false, HelperLineOption = HelperLineOptions.DontShow, LevelsKeepInMemmory = 5, Location = new Point(0, 0), Margin = new Padding(4), MarkersEnabled = true, MaxZoom = 17, MinZoom = 2, MouseWheelZoomType = MouseWheelZoomType.MousePositionAndCenter, NegativeMode = false, PolygonsEnabled = true, RetryLoadTile = 0, RoutesEnabled = true, ScaleMode = ScaleModes.Integer, SelectedAreaFillColor = Color.FromArgb(33, 65, 105, 225), ShowTileGridLines = false, Zoom = 0D }; Controls.Add(fMapControl); if (!GMapControl.IsDesignerHosted) { // set your proxy here if need //GMapProvider.IsSocksProxy = true; //GMapProvider.WebProxy = new WebProxy("127.0.0.1", 1080); //GMapProvider.WebProxy.Credentials = new NetworkCredential("user", "password"); // or //GMapProvider.WebProxy = WebRequest.DefaultWebProxy; // set cache mode only if no internet avaible if (!PingNetwork("pingtest.com")) { fMapControl.Manager.Mode = AccessMode.CacheOnly; //MessageBox.Show("No internet connection available, going to CacheOnly mode.", "GMap.NET - Demo.WindowsForms", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { fMapControl.Manager.Mode = AccessMode.ServerAndCache; } // config map fMapControl.CanDragMap = true; fMapControl.MapProvider = GMapProviders.OpenStreetMap; fMapControl.MinZoom = 0; fMapControl.MaxZoom = 24; fMapControl.ShowTileGridLines = false; fMapControl.Zoom = 9; fMapControl.Manager.UseRouteCache = true; fMapControl.Manager.UseGeocoderCache = true; fMapControl.Manager.UsePlacemarkCache = true; fMapControl.Manager.UseDirectionsCache = true; // add custom layers fMapControl.Overlays.Add(fRoutes); fMapControl.Overlays.Add(fPolygons); fMapControl.Overlays.Add(fObjects); fMapControl.Overlays.Add(fTopOverlay); // map events fMapControl.OnPositionChanged += MainMap_OnPositionChanged; fMapControl.OnMapZoomChanged += MainMap_OnMapZoomChanged; fMapControl.OnMapTypeChanged += MainMap_OnMapTypeChanged; fMapControl.OnMarkerClick += MainMap_OnMarkerClick; fMapControl.OnMarkerEnter += MainMap_OnMarkerEnter; fMapControl.OnMarkerLeave += MainMap_OnMarkerLeave; fMapControl.OnPolygonEnter += MainMap_OnPolygonEnter; fMapControl.OnPolygonLeave += MainMap_OnPolygonLeave; fMapControl.OnRouteEnter += MainMap_OnRouteEnter; fMapControl.OnRouteLeave += MainMap_OnRouteLeave; fMapControl.MouseMove += MainMap_MouseMove; fMapControl.MouseDown += MainMap_MouseDown; fMapControl.MouseUp += MainMap_MouseUp; fMapControl.MouseDoubleClick += MainMap_MouseDoubleClick; fMapControl.KeyPress += MainForm_KeyPress; fMapControl.KeyUp += MainForm_KeyUp; // set current marker fTargetMarker = new GMarkerGoogle(fMapControl.Position, GMarkerGoogleType.arrow); fTargetMarker.IsHitTestVisible = false; fTargetMarker.IsVisible = true; fTopOverlay.Markers.Add(fTargetMarker); // add start location GeoCoderStatusCode status; PointLatLng? pos = GMapProviders.GoogleMap.GetPoint("Russia, Moscow", out status); if (pos != null && status == GeoCoderStatusCode.G_GEO_SUCCESS) { fTargetMarker.Position = pos.Value; fMapControl.ZoomAndCenterMarkers(null); } } /* #if !MONO // mono doesn't handle it, so we 'lost' provider list ;] * cmbMapType.ValueMember = "Name"; * cmbMapType.DataSource = GMapProviders.List; * cmbMapType.SelectedItem = fMapControl.MapProvider; #endif * * trkZoom.Minimum = fMapControl.MinZoom * 100; * trkZoom.Maximum = fMapControl.MaxZoom * 100; * trkZoom.TickFrequency = 100; * trkZoom.Value = (int)fMapControl.Zoom * 100; */ }
public void zoomToCoverMarkers() { map.ZoomAndCenterMarkers(Constants.markerOverlayName); }
private void MainMap_OnMapTypeChanged(GMapProvider type) { fMapControl.ZoomAndCenterMarkers("objects"); }
private void InitControl() { fMapControl = new GMapControl(); fMapControl.Dock = DockStyle.Fill; fMapControl.Location = new Point(0, 0); fMapControl.Margin = new Padding(4); fMapControl.MaxZoom = 17; fMapControl.MinZoom = 2; fMapControl.Zoom = 0; Controls.Add(fMapControl); if (!GMapControl.IsDesignerHosted) { var proxy = GlobalOptions.Instance.Proxy; if (proxy.UseProxy) { GMapProvider.IsSocksProxy = true; GMapProvider.WebProxy = new WebProxy(proxy.Server, int.Parse(proxy.Port)); GMapProvider.WebProxy.Credentials = new NetworkCredential(proxy.Login, proxy.Password); } else { GMapProvider.WebProxy = WebRequest.DefaultWebProxy; } // config map fMapControl.MapProvider = GMapProviders.GoogleMap; fMapControl.Position = new PointLatLng(30.0447272077905, 31.2361907958984); fMapControl.MinZoom = 0; fMapControl.MaxZoom = 24; fMapControl.Zoom = 9; // add custom layers fMapControl.Overlays.Add(fObjects); fMapControl.Overlays.Add(fTopOverlay); // map events fMapControl.OnMapTypeChanged += MainMap_OnMapTypeChanged; fMapControl.OnMarkerClick += MainMap_OnMarkerClick; fMapControl.OnMarkerEnter += MainMap_OnMarkerEnter; fMapControl.OnMarkerLeave += MainMap_OnMarkerLeave; fMapControl.OnPolygonEnter += MainMap_OnPolygonEnter; fMapControl.OnPolygonLeave += MainMap_OnPolygonLeave; fMapControl.OnRouteEnter += MainMap_OnRouteEnter; fMapControl.OnRouteLeave += MainMap_OnRouteLeave; fMapControl.MouseMove += MainMap_MouseMove; fMapControl.MouseDown += MainMap_MouseDown; fMapControl.MouseUp += MainMap_MouseUp; fMapControl.KeyUp += MainForm_KeyUp; // set current marker fTargetMarker = new GMarkerIcon(fMapControl.Position, GMarkerIconType.arrow); fTargetMarker.IsHitTestVisible = false; fTargetMarker.IsVisible = true; fTopOverlay.Markers.Add(fTargetMarker); // add start location GeocoderStatusCode status; PointLatLng? pos = GMapProviders.GoogleMap.GetPoint("Russia, Moscow", out status); if (pos != null && status == GeocoderStatusCode.Success) { fTargetMarker.Position = pos.Value; fMapControl.ZoomAndCenterMarkers(null); } } }
internal override void DrawMap() { m_GMapControl.Invoke(new Action(() => m_GMapControl.Overlays.Add(m_MarkersOverlay))); m_GMapControl.Invoke(new Action(() => m_GMapControl.ZoomAndCenterMarkers(null))); }
private void InitControl() { fMapControl = new GMapControl { Bearing = 0F, CanDragMap = true, Dock = DockStyle.Fill, EmptyTileColor = Color.Navy, GrayScaleMode = false, HelperLineOption = HelperLineOptions.DontShow, LevelsKeepInMemmory = 5, Location = new Point(0, 0), Margin = new Padding(4), MarkersEnabled = true, MaxZoom = 17, MinZoom = 2, MouseWheelZoomType = MouseWheelZoomType.MousePositionAndCenter, NegativeMode = false, PolygonsEnabled = true, RetryLoadTile = 0, RoutesEnabled = true, ScaleMode = ScaleModes.Integer, SelectedAreaFillColor = Color.FromArgb(33, 65, 105, 225), ShowTileGridLines = false, Zoom = 0D }; Controls.Add(fMapControl); if (!GMapControl.IsDesignerHosted) { var proxy = GlobalOptions.Instance.Proxy; if (proxy.UseProxy) { GMapProvider.IsSocksProxy = true; GMapProvider.WebProxy = new WebProxy(proxy.Server, int.Parse(proxy.Port)); GMapProvider.WebProxy.Credentials = new NetworkCredential(proxy.Login, proxy.Password); } else { GMapProvider.WebProxy = WebRequest.DefaultWebProxy; } // set cache mode only if no internet avaible fMapControl.Manager.Mode = (!PingNetwork("pingtest.com")) ? AccessMode.CacheOnly : AccessMode.ServerAndCache; // config map fMapControl.CanDragMap = true; fMapControl.MapProvider = GMapProviders.GoogleMap; fMapControl.MinZoom = 0; fMapControl.MaxZoom = 24; fMapControl.ShowTileGridLines = false; fMapControl.Zoom = 9; fMapControl.Manager.UseRouteCache = true; fMapControl.Manager.UseGeocoderCache = true; fMapControl.Manager.UsePlacemarkCache = true; fMapControl.Manager.UseDirectionsCache = true; // add custom layers fMapControl.Overlays.Add(fRoutes); fMapControl.Overlays.Add(fPolygons); fMapControl.Overlays.Add(fObjects); fMapControl.Overlays.Add(fTopOverlay); // map events fMapControl.OnPositionChanged += MainMap_OnPositionChanged; fMapControl.OnMapZoomChanged += MainMap_OnMapZoomChanged; fMapControl.OnMapTypeChanged += MainMap_OnMapTypeChanged; fMapControl.OnMarkerClick += MainMap_OnMarkerClick; fMapControl.OnMarkerEnter += MainMap_OnMarkerEnter; fMapControl.OnMarkerLeave += MainMap_OnMarkerLeave; fMapControl.OnPolygonEnter += MainMap_OnPolygonEnter; fMapControl.OnPolygonLeave += MainMap_OnPolygonLeave; fMapControl.OnRouteEnter += MainMap_OnRouteEnter; fMapControl.OnRouteLeave += MainMap_OnRouteLeave; fMapControl.MouseMove += MainMap_MouseMove; fMapControl.MouseDown += MainMap_MouseDown; fMapControl.MouseUp += MainMap_MouseUp; fMapControl.MouseDoubleClick += MainMap_MouseDoubleClick; fMapControl.KeyPress += MainForm_KeyPress; fMapControl.KeyUp += MainForm_KeyUp; // set current marker fTargetMarker = new GMarkerGoogle(fMapControl.Position, GMarkerGoogleType.arrow); fTargetMarker.IsHitTestVisible = false; fTargetMarker.IsVisible = true; fTopOverlay.Markers.Add(fTargetMarker); // add start location GeoCoderStatusCode status; PointLatLng? pos = GMapProviders.GoogleMap.GetPoint("Russia, Moscow", out status); if (pos != null && status == GeoCoderStatusCode.G_GEO_SUCCESS) { fTargetMarker.Position = pos.Value; fMapControl.ZoomAndCenterMarkers(null); } } }