您的位置:首页 > 其它

百度地图和高德地图的坐标转换

2017-11-04 13:29 330 查看
在项目开发中,车机使用了百度地图传高德GPS坐标,web使用了高德地图,问题就来了:在ios10版本以上,高德定位API调用失败。换成百度地图就可以,换成百度地图,那么久需要进行坐标转换,网上找的转换方法

电子地图地理坐标系统及相关算法的JavaScript实现

 

下面直接上代码:

火星坐标 转换到 百度地图坐标

 

function bd_encrypt(gg_lon, gg_lat){  

                var X_PI = Math.PI * 3000.0 / 180.0;  

                var x = gg_lon, y = gg_lat;  

                var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * X_PI);  

                var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * X_PI);  

                var bd_lon = z * Math.cos(theta) + 0.0065;  

                var bd_lat = z * Math.sin(theta) + 0.006;  

                return {  

                    bd_lat: bd_lat,  

                    bd_lon: bd_lon  

                };  

            }  

 百度地图坐标 转换到 火星坐标

Js代码  收藏代码

function bd_decrypt(bd_lon,bd_lat) {  

                var X_PI = Math.Pi * 3000.0 / 180.0;  

                var x = bd_lon - 0.0065;  

                var y = bd_lat - 0.006;  

                var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * X_PI);  

                var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * X_PI);  

                var gg_lon = z * Math.cos(theta);  

                var gg_lat = z * Math.sin(theta);  

                return {  

                    gg_lon: gg_lon,  

                    gg_lat: gg_lat  

                }  

            } 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: