C#百度地图和腾讯地图经纬度相互转换

2020-05-20  来源:我要手册网  

最近在开发项目中,因为服务端定位用的是百度地图的api接口,而小程序门店定位是腾讯地图,需要进行转换。代码如下:

public class BaiduToTengxun
    {
        private const double x_pi = 3.14159265358979324 * 3000.0 / 180.0;

        #region 腾讯地图 转 百度地图
        ////// 腾讯地图 转 百度地图
        //////维度///经度public static void txMap_to_bdMap(ref double lat, ref double lng)
        {
            double x = lng, y = lat;
            double z = Math.Sqrt(x * x + y * y) + 0.00002 * Math.Sin(y * x_pi);
            double theta = Math.Atan2(y, x) + 0.000003 * Math.Cos(x * x_pi);
            lng = z * Math.Cos(theta) + 0.0065;
            lat = z * Math.Sin(theta) + 0.006;
        }
        #endregion

        #region 百度地图 转 腾讯地图
        ////// 百度地图 转 腾讯地图
        //////维度///经度public static void bdMap_to_txMap(ref double lat, ref double lng)
        {
            double x = lng - 0.0065, y = lat - 0.006;
            double z = Math.Sqrt(x * x + y * y) - 0.00002 * Math.Sin(y * x_pi);
            double theta = Math.Atan2(y, x) - 0.000003 * Math.Cos(x * x_pi);
            lng = z * Math.Cos(theta);
            lat = z * Math.Sin(theta);
        }
        #endregion
    }
[本站声明] 本网站部分文章来源于网络,如有侵权请来邮([email protected])告知,本网站将进行更正处理。
分享:
  • 相关阅读
推荐文章
热门文章