小程序
小游戏
企业微信
微信支付
扫描小程序码分享
根据项目需要使用百度地图进行上班打卡,后台提供了公司的坐标,需要小程序端调用百度接口获取经纬度,再与后台的经纬度比较计算出打卡距离,想问小程序使用百度地图,如何用两个经纬度计算距离?小程序的计算距离用的是 calculateDistance ,想问调用百度地图怎么写呢?
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
我做过类似的打卡,小程序用的腾讯地图,pc端用的百度地图,他俩的坐标系不一样,我们是后端算法转换的。两个经纬度计算距离网上有,可以搜搜。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
微信小程序里只能用腾讯地图组件吧,你可以把坐标点转换成腾讯地图的
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
我做过类似的打卡,小程序用的腾讯地图,pc端用的百度地图,他俩的坐标系不一样,我们是后端算法转换的。两个经纬度计算距离网上有,可以搜搜。
const R = 6371; // 地球平均半径,单位为公里
const dLat = (lat2 - lat1) * (Math.PI / 180);
const dLon = (lon2 - lon1) * (Math.PI / 180);
const lat1Rad = lat1 * (Math.PI / 180);
const lat2Rad = lat2 * (Math.PI / 180);
const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(lat1Rad) * Math.cos(lat2Rad);
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
const d = R * c;
return d;
}
// 使用示例
const distance = getDistanceFromLatLonInKm(48.8588, 2.2945, 48.8535, 2.347);
console.log(distance); // 输出距离,单位为千米
微信小程序里只能用腾讯地图组件吧,你可以把坐标点转换成腾讯地图的