墨卡托与经纬度转换的代码,是object-c的,谁能给根据代码转成js
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了墨卡托与经纬度转换的代码,是object-c的,谁能给根据代码转成js相关的知识,希望对你有一定的参考价值。
//经纬度转墨卡托
-(CGPoint )lonLat2Mercator:(CGPoint ) lonLat
CGPoint mercator;
double x = lonLat.x *20037508.34/180;
double y = log(tan((90+lonLat.y)*M_PI/360))/(M_PI/180);
y = y *20037508.34/180;
mercator.x = x;
mercator.y = y;
return mercator ;
//墨卡托转经纬度
-(CGPoint )Mercator2lonLat:(CGPoint ) mercator
CGPoint lonLat;
double x = mercator.x/20037508.34*180;
double y = mercator.y/20037508.34*180;
y= 180/M_PI*(2*atan(exp(y*M_PI/180))-M_PI/2);
lonLat.x = x;
lonLat.y = y;
return lonLat;
var mercator=x:12747736.346966475,y:4585405.935084799;
//经纬度转墨卡托
function lonlat2mercator(lonlat)
var mercator=x:0,y:0;
var x = lonlat.x *20037508.34/180;
var y = Math.log(Math.tan((90+lonlat.y)*Math.PI/360))/(Math.PI/180);
y = y *20037508.34/180;
mercator.x = x;
mercator.y = y;
return mercator ;
//墨卡托转经纬度
function mercator2lonlat(mercator)
var lonlat=x:0,y:0;
var x = mercator.x/20037508.34*180;
var y = mercator.y/20037508.34*180;
y= 180/Math.PI*(2*Math.atan(Math.exp(y*Math.PI/180))-Math.PI/2);
lonlat.x = x;
lonlat.y = y;
return lonlat;
// answered by : hweitao123@163.com 参考技术A 首先基站代码与经纬度没有直接必然的联系。
要实现转换,必须得到基站所在的地理坐标和代码的对应关系。建站一般需要规划在图纸上,图纸上的地图可与经纬度对照,这样基站代码和经纬度就有了间接的联系。将这些联系放在数据库中,只要有权访问就能转换了。当然这样的资源都掌握在运营商手里,要得到不太容易。
以上是关于墨卡托与经纬度转换的代码,是object-c的,谁能给根据代码转成js的主要内容,如果未能解决你的问题,请参考以下文章