我正在构建一个需要知道也拥有该应用程序的关闭用户的应用程序。有人告诉我 Nearby API 是最好的解决方案,我希望在 React Native 中构建我的应用程序,Nearby API 是否适用于 RN?
谢谢你的帮助
我正在构建一个需要知道也拥有该应用程序的关闭用户的应用程序。有人告诉我 Nearby API 是最好的解决方案,我希望在 React Native 中构建我的应用程序,Nearby API 是否适用于 RN?
谢谢你的帮助
React-native 在其核心中没有 Nearby API,但是您可以将本机代码包装在管理器中或查看react-native-invoke,您可以:
在 React Native 中直接从 Javascript 调用任何本机代码(无需先使用本机管理器包装它)
或者,如果您有其他用户的坐标并且想要检查他们是否在附近,则可以使用此方法:
您可以使用Geolocation API获取用户位置
navigator.geolocation.getCurrentPosition(
(position) => {
myLocation = position.coords
},
error => alert(error),
{ enableHighAccuracy: false, timeout: 20000, maximumAge: 1000*60*5 })
然后你可以使用这个函数计算用户和地点之间的距离(如果你有他们的坐标):
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}
学分:可移动类型脚本