我的数据库里有N多个地点的数据。有相对应的经纬度。数据格式如下:
经度:73.821474 纬度:-31.820520
经度:73.825800 纬度:-31.820020
经度:73.828844 纬度:-31.820002
经度:73.822522 纬度:-31.820201
经度:73.823124 纬度:-31.826201
经度:73.826741 纬度:-31.820038
现在请求得到的一个经纬度,比如: 经度:73.828844 纬度:-31.820002
那我如何根据这个经纬度去计算在他周围1公里内的经纬度呢?
求解。
------解决方案--------------------------------------------------------
拿当前的经度差 a,韦度差b
{2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2)
+ Math.cos(radLat1) * Math.cos(radLat2)
* Math.pow(Math.sin(b / 2), 2))); }
结果乘以比例尺6378137.0就是距离了
说一下 你的想法是错误的,你只能去算出你想找出的东西在不在你预定的范围,不能说他周围一公里的经纬度。一公里内是又无数个经纬度的。