2016-10-27 3 views
1

私はアプリを持っているクローズユーザーを知る必要があるアプリをビルドしています。私は近くのAPIがこれのための最善の解決策であると言われています、私はReact Nativeで私のアプリを構築したいと考えています、近くのAPIはRNのために働くのですか?あなたの助けのためのRNのための近くのAPI

おかげ

+0

近くのAPIのみ作品ローカルネットワーク上でこれをRNでネイティブバージョンにする必要があります。 – Jan

+1

私たちは、この必要性のために[react-native-nearby-api](https://github.com/badfeatures/react-native-nearby-api)をまとめました。まだそれが必要な場合はそれをチェックしてください! – jacks205

答えて

1

反応するネイティブは、そのコアに近所のAPIを持っていますが、you could wrap native code in a managerのかreact-native-invokeを見てみましょう、あなたがすることができません。

は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} 

クレジット:Movable Type Scripts

+1

おかげさまで、ネイティブのラッパーを見ていきます。近くの主なポイントは、近くには非常に低いバッテリーとデータツールをたくさん使って、近くのすべてのものの音波を含む多くの人の場所を取得する必要はありません。 –

+0

react-native- 404ページが表示されない –

関連する問題