初始化常用參數:
//設定地圖提供者 gMapControl1.MapProvider = GMap.NET.MapProviders.GMapProviders.OpenStreetMap;//較多可選擇 gMapControl1.MapProvider = GMap.NET.MapProviders.GoogleChinaHybridMapProvider.Instance; //是否使用緩存 GMaps.Instance.Mode = AccessMode.ServerAndCache; //設定缓存位置 gMapControl1.CacheLocation = @"C:\GMapCache"; //地圖縮放最小比例 gMapControl1.MinZoom = 1; //地圖縮放最大比例 gMapControl1.MaxZoom = 22; //地圖縮放當前比例 gMapControl1.Zoom = 7; //是否顯示中心十字 gMapControl1.ShowCenter = true; //設定地圖拖拽按鍵 gMapControl1.DragButton = MouseButtons.Right; //設定地圖中心經緯度 gMapControl1.Position = new PointLatLng(24.064, 120.704);
GMap可以任意增加圖層(Overlay),圖層上可增加任意標示(Marker)。
//增加Marker,有內建的Marker,給予經緯度座標。 var marker = new GMarkerGoogle(new PointLatLng(24.064, 120.704), GMarkerGoogleType.yellow_small); //建立裝載Marker用的Overlay,如果要區分不同Marker,可以建立不同Overlay var overlay = new GMapOverlay("marker"); overlay.Markers.Add(marker); gMapControl1.Overlays.Add(overlay);
圖層可增加
- GMapPolygon
- GMapRoute
- GMarkerGoogle
GMapRoute:
//設定目標點位 List<PointLatLng> points= new List<PointLatLng> { new PointLatLng(10,20), new PointLatLng(30,40) }; //設定筆刷大小及樣式(預設是實線) var pen = new Pen(Color.Red, 2) { DashStyle = System.Drawing.Drawing2D.DashStyle.Dash//虛線 }; //建立Route var route = new GMapRoute(points, "route")
{ Stroke = pen, }; //建立Overlay var overlay = new GMapOverlay("routes"); overlay.Routes.Add(route); gMapControl1.Overlays.Add(overlay);
GMapPolygon:
與GMapRoute相似,只是不會規劃路線,以及多了封閉選項。
封閉選項 => 是否要讓最後的點位會連接到第一個點位。
座標轉換:
//螢幕座標轉經緯度 var latLng = gMapControl1.FromLocalToLatLng(int x, int y); //經緯度轉螢幕座標 var pos = gMapControl1.FromLatLngToLocal(new PointLatLng(24.064, 120.704));
沒有留言:
張貼留言