2

我正在构建一个需要知道也拥有该应用程序的关闭用户的应用程序。有人告诉我 Nearby API 是最好的解决方案,我希望在 React Native 中构建我的应用程序,Nearby API 是否适用于 RN?

谢谢你的帮助

4

1 回答 1

1

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}

学分:可移动类型脚本

于 2016-10-29T10:58:13.340 回答