【发布时间】:2021-07-30 13:01:24
【问题描述】:
请帮我写这个函数 我有这个列表,其中列出了每个驱动程序 1 当前纬度经度 2 值班与否 3 车型 4 司机详情
每当用户启动搜索 函数搜索 1 个车辆类型用户已选择 2 如果司机值班 3 AND 如果司机在 10 公里半径内(使用纬度和经度)
并将所有符合条件的驱动程序复制到 -> availableDriverList
距离计算代码
function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {
var R = 6371; // Radius of the earth in km
var dLat = deg2rad(lat2-lat1); // deg2rad below
var dLon = deg2rad(lon2-lon1);
var a =
Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2)
;
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c; // Distance in km
return d;
}
function deg2rad(deg) {
return deg * (Math.PI/180)
}
【问题讨论】:
-
Firebase 实时数据库和 Cloud Firestore 是两个独立的数据库。请仅使用相关标签标记您的问题,不要同时使用两者。
-
是的,它有帮助,知道 fb rt db 的局限性有帮助,我的应用程序需要一些额外的搜索和过滤,任何方法都可以通过一些调整得到它
-
完美。我也刚刚将此链接添加到我的答案中,上周我不知何故忘记了:youtube.com/watch?v=mx1mMdHBi5Q
标签: firebase google-cloud-firestore