public static M经纬度 原始坐标转谷歌坐标(M经纬度 原始坐标) { var __gcj = H坐标转换.gps84_To_Gcj02(原始坐标.纬度, 原始坐标.经度); return(new M经纬度(__gcj.Lng, __gcj.Lat) { 类型 = E坐标类型.谷歌 }); }
public static M经纬度 百度坐标转谷歌坐标(M经纬度 百度坐标) { var __gcj = H坐标转换.bd09_To_Gcj02(百度坐标.纬度, 百度坐标.经度); return(new M经纬度(__gcj.Lng, __gcj.Lat) { 类型 = E坐标类型.谷歌 }); }
public static M经纬度 百度坐标转原始坐标(M经纬度 百度坐标) { var __gps84 = H坐标转换.bd09_To_Gps84(百度坐标.纬度, 百度坐标.经度); return(new M经纬度(__gps84.Lng, __gps84.Lat) { 类型 = E坐标类型.设备 }); }
public static M经纬度 谷歌坐标转百度坐标(M经纬度 谷歌坐标) { var __bd = H坐标转换.gcj02_To_Bd09(谷歌坐标.纬度, 谷歌坐标.经度); return(new M经纬度(__bd.Lng, __bd.Lat) { 类型 = E坐标类型.百度 }); }
public static M经纬度 谷歌坐标转原始坐标(M经纬度 谷歌坐标) { var __bd = H坐标转换.gcj02_To_Bd09(谷歌坐标.纬度, 谷歌坐标.经度); var __gps84 = H坐标转换.bd09_To_Gps84(__bd.Lat, __bd.Lng); return(new M经纬度(__gps84.Lng, __gps84.Lat) { 类型 = E坐标类型.设备 }); }
private void 显示行政区(M行政区位置 __行政区) { this.out地图.Position = new PointLatLng(__行政区.纬度, __行政区.经度); //绘制边界 _边界图层.Routes.Clear(); var __位置列表 = new List <PointLatLng>(); __行政区.边界坐标.ForEach(__点列表 => { var __GPS = new List <PointLatLng>(); __点列表.ForEach(q => { //double __谷歌经度 = q.Lng; //double __谷歌纬度 = q.Lat; //HGPS坐标转换.百度坐标转谷歌坐标(q.Lat, q.Lng, out __谷歌纬度, out __谷歌经度); //__GPS.Add(new PointLatLng(__谷歌纬度, __谷歌经度)); if (!Equals(_当前地图, GMapProviders.BaiduMap)) { __GPS.Add(H坐标转换.bd09_To_Gcj02(q.Lat, q.Lng)); } else { __GPS.Add(q); } }); __位置列表.AddRange(__GPS); var __线 = new GMapRoute(__GPS, "") { Stroke = new Pen(Color.Blue) { Width = 2, } }; _边界图层.Routes.Add(__线); }); if (__位置列表.Count > 0) { double __最小经度 = 180; double __最大经度 = -180; double __最小纬度 = 90; double __最大纬度 = -90; __位置列表.ForEach(q => { __最小经度 = Math.Min(__最小经度, q.Lng); __最大经度 = Math.Max(__最大经度, q.Lng); __最小纬度 = Math.Min(__最小纬度, q.Lat); __最大纬度 = Math.Max(__最大纬度, q.Lat); }); this.out地图.SetZoomToFitRect(RectLatLng.FromLTRB(__最小经度, __最大纬度, __最大经度, __最小纬度)); } }
private PointLatLng GPS转换(M经纬度 __GPS, bool __纠偏 = true) { double __标准经度 = __GPS.经度; double __标准纬度 = __GPS.纬度; if (__纠偏 && __GPS.类型 == E坐标类型.设备) { if (当前地图源 == E地图源.谷歌2D图 || 当前地图源 == E地图源.谷歌混合图) { //double __谷歌坐标经度; //double __谷歌坐标纬度; //HGPS坐标转换.原始坐标转谷歌坐标(__标准纬度, __标准经度, out __谷歌坐标纬度, out __谷歌坐标经度); //return new PointLatLng(__谷歌坐标纬度, __谷歌坐标经度); return(H坐标转换.gps84_To_Gcj02(__标准纬度, __标准经度)); } if (当前地图源 == E地图源.百度2D图 || 当前地图源 == E地图源.百度混合图) { return(H坐标转换.gps84_To_Bd09(__标准纬度, __标准经度)); } } return(new PointLatLng(__标准纬度, __标准经度)); }