是否可以从Firestore中按距离查询数据? 这是一个例子: 我在纬度和经度上有user1和user2的位置,如果user1的距离不超过5公里,则user1将从其中查询数据。
这是我尝试过的代码,但由于Firebase无法在其他字段上查询而出现问题。
我需要在纬度和经度上确定用户离5公里之遥。
function querying(ref){
var currentLoc=[0,0]; //current location(latitude&lontitude)
var input = 10; //input distance in kilometers Here is an example i use 10 kilometers
var d=(input)/100; //convert input in kilometers to distance
ref.where("position.lat","<=",currentLoc[0]+d).where("position.lat",">=",currentLoc[0]-d)
.where("position.lon","<=",currentLoc[1]+d).where("position.lon",">=",currentLoc[1]-d)
.get().then((snapshot)=>{
snapshot.forEach((doc)=>{
console.log(doc.id,"=",doc.data());
});
}).catch((error)=>{
console.log("error",error);
});
}