< back

gps定位不准?使用gps获取到的经纬度在高德地图上显示差距较大

问题

使用gps获取到的经纬度在高德地图上显示差距较大

原因

gps控件获取到的是地球坐标系而高德地图使用的是火星坐标系,像MaptrimView使用的是高德地图,转换坐标系即可

解决

在gps的回调中ToGCJ02()可转换为火星坐标https://www.smobiler.com/Help/html/MethodsTSmobilerCoreControls_GPSResultArgs.htm

private void gps1_GotLocation(object sender, GPSResultArgs e)
        { 
            e.ToGCJ02();//  // 若是mapview的GeoType设置GCJ_02,坐标需要转成GCJ02;若是设置BD_09,则使用e.ToBD09();
            mapTrimView1.Latitudedouble longitude = (float)e.Latitude;(double)e.ToGCJ02().Longitude;
            mapTrimView1.Longitudedouble =latitude= (float)e.Longitude;(double)e.ToGCJ02().Latitude;
           //在mapview中显示定位  mapView1.Tags.Add(new MapViewTag(e.ToGCJ02().Longitude,MapViewTag(longitude, e.ToGCJ02().Latitude));latitude));
        }

搜索关键字

gps 定位不准