2016-08-10 4 views
0

私はGPS位置をとるAndroid Appを持っています。私はLaravelでバックエンドRESTサービスを書いています。私のDBにはテーブルがあります「保存」ボタンをクリックするとGPSの座標を保存する「GPS」という名前が付けられています。データベースからレコードを取得し、それらのレコードを現在の値と比較する

私のアプリで「保存」ボタンをクリックすると、DB上に保存されているGPSの1つと比べて現在の位置が半径Xメートル以内にあるかどうかをチェックする必要があります。

私はそれをすることについて考えていません、それは可能ですか?

表GPSフィールドは以下のとおり
ID、私はそれのための計画を持って

答えて

1

あなたのGPSの列の様子にもよりますが、haversineの数式を使って2つのGPS(緯度、経度)ポイントからの距離を簡単に計算できます。

JavaScriptでこの素敵な説明を参照してください:http://www.movable-type.co.uk/scripts/latlong.html

は基本的に、あなたは2点間の距離を計算し、その結果があなたの半径内にあるかどうかを確認。

PHPの場合は、stackoverflowを検索してください。 MySQLで計算するには、answerを見てください。

+0

ありがとうございます!私のフィールドは単純なvarcharで、latとlngはカンマで区切られています。 43.8465317,10.4364944 リンクが表示され、戻ってきます:)!ありがとう – LorenzoBerti

+0

私はデータベースのクエリとの距離を計算する2つのdb列にフィールドを分割することをお勧めします。代わりに "gps"の代わりにgps_latitudeとgps_longitudeを追加してください。 :) – wiesson

+0

リンクやアドバイスのためのおかげで:) – LorenzoBerti

-1

のGPS:
2.新しいルートを作成するコントローラまたは使用を作成するアクション
を作成
3.存在 4. DB内のこれらの点を検索するための関数を作成します。
5. JSON形式またはXML形式で提供します。

ポイントツーポイントで使用してください。

+0

はい、私の質問は: どのように私の位置の半径で、dbのGPSを検索することができます! – LorenzoBerti

関連する問題