私はJavaアプリケーションを持っており、訪問者の場所を知りたいと思います。 APIは私に訪問ユーザーの郵便番号を与え、その郵便番号に基づいて、私は質問を発し、25/50マイル半径以内に私のアプリケーション内のユーザーを見つけるでしょう。 また、ビジターは興味のある郵便番号を入力することができ、アプリケーションは半径がxマイルのユーザーを返す必要があります。 システムに登録されているユーザーの郵便番号は郵便番号のみです。 私はいくつかのオプションを見てきましたが、正確な解決策は見つかりませんでした。私は郵便番号のデータベースをダウンロードして維持したくありません。 私はこの種のものをGoogle APIがサポートしているとは思わない。ジオロケーションAPIと半径内のユーザーを見つける
2
A
答えて
2
APIを提供するサービスは見つかりませんでした。多くの研究の後、郵便番号を緯度と経度の位置と共にテーブルにダウンロードしなければならないことがわかりました。次に、 は、検索する半径内の座標を計算します。 これは私を大いに助けたウェブサイトです。ここで http://www.dougv.com/2009/03/27/getting-all-zip-codes-in-a-given-radius-from-a-known-point-zip-code-via-php-and-mysql/
あなたは本当にあなたがPHP
//これで動作するようにしたくない場合は、郵便番号 ダブル緯度= Double.parseDouble(に対してデータベースを照会することによって取得する場合は、Javaでの計算でありますzipCode.getLatitude()); Double longitude = Double.parseDouble(zipCode.getLongitude());
Double latN =Math.asin(
Math.sin(Math.toRadians(latitude)) * Math.cos(distance/radius) +
Math.cos(Math.toRadians(latitude)) * Math.sin(distance/radius) * Math.cos(Math.toRadians(0)));
Double latS =Math.asin(
Math.sin(Math.toRadians(latitude)) * Math.cos(distance/radius) +
Math.cos(Math.toRadians(latitude)) * Math.sin(distance/radius) * Math.cos(Math.toRadians(180)));
Double longE = Math.toRadians(longitude) +
Math.atan2(
Math.sin(Math.toRadians(90)) * Math.sin(distance/radius)* Math.cos(Math.toRadians(latitude))
, Math.cos(Math.toRadians(distance/radius)) - Math.sin(Math.toRadians(latitude))* Math.sin(Math.toRadians(latN)));
Double longW = Math.toRadians(longitude) +
Math.atan2(
Math.sin(Math.toRadians(270)) * Math.sin(distance/radius)* Math.cos(Math.toRadians(latitude))
, Math.cos(Math.toRadians(distance/radius)) - Math.sin(Math.toRadians(latitude))* Math.sin(Math.toRadians(latN)));
System.out.println("Latutude N "+Math.toDegrees(latN) +" Latitide S "+Math.toDegrees(latS) +">>> Longitude E "+Math.toDegrees(longE) +" Longitude W "+Math.toDegrees(longW));
2
正確さはわかりませんが、IPinfoDBを見ましたか?彼らはXMLとJSONの結果を返しますが、APIキーを登録する必要があります。しかし、半径については何も提供していませんが、近くの郵便番号については、次のようなものを使用することができます:http://www.geonames.org/export/web-services.html#findNearbyPostalCodes
関連する問題
- 1. アドレスからの半径指定半径以内の都市を見つける
- 2. html5半径内のジオロケーション検索
- 3. 都市の半径を見つける
- 4. モンゴース半径でジオポイントを見つける
- 5. 特定の半径内の最高点を見つける
- 6. MongoDB - GeoJSON - 半径内の文書を見つける
- 7. MySQL - データベースから半径内の点を見つけよう
- 8. 他の多角形の特定の半径内のポリゴンを見つける
- 9. 特定の半径の郵便番号を見つける
- 10. PostGIS:他のポイントから特定の半径内のポイントを見つける
- 11. MapViewでオーバーレイアイテムの半径を見つける方法
- 12. searchkick場所の半径を見つける
- 13. 地理空間クエリを作成してお互いの半径内に2人のユーザーを見つけよう
- 14. IQueryableで別の座標の半径を持つ点を見つける
- 15. 定義された半径と交差するSolrドキュメントを見つける
- 16. 動的半径に基づいて別のGPSの位置を見つける
- 17. フォームグループとボーダー半径内のブートストラップbtn-group
- 18. 正方形の半径の半径
- 19. 指定された半径内のすべての整数座標を見つける
- 20. 既知の中心点から半径内の緯度/経度を見つけるR
- 21. 角をつけた矩形の隅の半径
- 22. UICollectionViewCell内のUIImageViewの隅の半径
- 23. 円と半径の衝突
- 24. UIVIewコーナーの半径と影?
- 25. DropShadowPanelとボーダーコーナーの半径
- 26. 処理中の円の半径以内
- 27. 大規模なデータセットを持つ半径内のポイント数 - R
- 28. Swiftのコーナー半径を持つコレクションビュー
- 29. 地理的半径内のポイント -
- 30. SilverStripe内のmysqlごとに半径X以内の場所ORM
距離を計算するためのアルゴリズム(および地球の近似値を計算する方法)について詳しくは、http://en.wikipedia.org/wiki/Haversine_formulaを参照してください。 –