React native RN附近的API

React native RN附近的API,react-native,google-nearby,React Native,Google Nearby,我正在构建一个应用程序,需要知道同样拥有该应用程序的用户。我被告知附近的API是最好的解决方案,我希望在React Native中构建我的应用程序,附近的API对RN有效吗 感谢您的帮助React native的核心中没有附近的API,但您可以: 在React native中直接从Javascript调用任何本机代码 (无需先使用本机管理器将其包装) 或者,如果您有其他用户的坐标并且希望检查他们是否在附近,则可以使用此方法: 您可以使用获取用户位置 然后,您可以使用此函数计算用户和地点之间的距离

我正在构建一个应用程序,需要知道同样拥有该应用程序的用户。我被告知附近的API是最好的解决方案,我希望在React Native中构建我的应用程序,附近的API对RN有效吗


感谢您的帮助

React native的核心中没有附近的API,但您可以:

在React native中直接从Javascript调用任何本机代码 (无需先使用本机管理器将其包装)

或者,如果您有其他用户的坐标并且希望检查他们是否在附近,则可以使用此方法

您可以使用获取用户位置

然后,您可以使用此函数计算用户和地点之间的距离(如果您有它们的坐标):

export const calculateDistance = (place, me)=>{
const toRadians = (angle)=>{
    return angle * Math.PI / 180
}
let lat1 = place.latitude
let lon1 = place.longitude
let lat2 = me.latitude
let lon2 = me.longitude

var R = 6371e3; // metres
var phi1 = toRadians(lat1)
var phi2 = toRadians(lat2)
var deltaPhi = toRadians((lat2-lat1))
var deltaLambda = toRadians((lon2-lon1))

var a = Math.sin(deltaPhi/2) * Math.sin(deltaPhi/2) +
        Math.cos(phi1) * Math.cos(phi2) *
        Math.sin(deltaLambda/2) * Math.sin(deltaLambda/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));

var d = R * c;
return d}

信用证:

附近的API仅在本地网络上工作,您必须在RN中为此制作一个本机版本。我们自己正是为了满足这一需要而准备的。如果你还需要它,就去看看吧!谢谢,我会看一下原生包装,Nearest的要点是你不必知道人们的位置,因为Nearest使用了很多非常低的电池和数据工具来查找附近的东西,包括所有东西的声波
export const calculateDistance = (place, me)=>{
const toRadians = (angle)=>{
    return angle * Math.PI / 180
}
let lat1 = place.latitude
let lon1 = place.longitude
let lat2 = me.latitude
let lon2 = me.longitude

var R = 6371e3; // metres
var phi1 = toRadians(lat1)
var phi2 = toRadians(lat2)
var deltaPhi = toRadians((lat2-lat1))
var deltaLambda = toRadians((lon2-lon1))

var a = Math.sin(deltaPhi/2) * Math.sin(deltaPhi/2) +
        Math.cos(phi1) * Math.cos(phi2) *
        Math.sin(deltaLambda/2) * Math.sin(deltaLambda/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));

var d = R * c;
return d}