我想过滤距离小于200公里的数组中的所有对象。 我为此使用 geolib。数组中的每个对象都有一个纬度和经度。 我将 MapBox 与 Geocoder 一起使用。 如果我在这里搜索一个地方,数组应该根据它的纬度和经度进行过滤,并且只应该返回 200 公里范围内的那些对象。
但目前我总是得到所有的 - 无论这个地方有多远
const updateHouses = (coords) => {
const lng = coords[0];
const lat = coords[1];
const copy = [...houses];
copy.filter((house) => {
const dis = getPreciseDistance(
{ latitude: house.lat, longitude: house.long },
{ latitude: lat, longitude: lng }
);
const km = dis / 1000;
return km < 200;
});
setHouses(copy);
};