首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

高德地图计算两点的坐标距离

前言:需要根据用户的地理位置,计算出边的店家和商家。这时候使用到了高德地图,然后利用坐标进行区域内的计算。

规则

初始的计算,用的是两点的方式,左上和右下来确定距离,后来发现在执行的了一段时间后,有一些区域不是太好,偏差比较大,所以就修改成了,以中心点计算距离的方式来确定所归某个区域。

地图

高德地图API【JS】版本

代码

//区域中心点 以json的形式来写的 大家可以换成自己想用的格式

var xyCenter =

[

,,

];

//存放每个地点所计算出来的距离

var resArray = new Array();

//填写计算距离的结果 地点与距离

var belongArea = function(lnglat){

for(i=0;i

resArray[i]=new Array();

resArray[i][sign]=xyCenter[i].sign;

var endLngLat = new AMap.LngLat(xyCenter[i].lng,xyCenter[i].lat);

resArray[i][range]=parseInt(Math.abs(endLngLat.distance(lnglat)));

//console.log(resArray[i][range]);

}

};

//取最终的归属代号 大家可以修改成自己的,本程序所用1001 1002...

var maxRes = function(){

var tmp=resArray[0];

for(i=0;i

if(resArray[i][range]

tmp = i;

resArray[i+1] = resArray[i];

}else{

tmp = i+1;

}

}

return resArray[tmp][sign];

};

//调用方式

//获取LngLat

var startLngLat = new AMap.LngLat(116.319766,39.911448);

//传入到计算方法

belongArea(startLngLat);

//获取到最终结果

alert(maxRes());

结论

参考高德地图API的基础类里的LngLat类

核心就是我们利用中心点计算出用户的4个点的方位。然后通过规则算出区域,即可快速判断周边自己想给用户展示的数据

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200502A0787O00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券