0

私が抱えている技術的な問題ではありませんが、「市から 8 マイル以内の検索」を実装する方法を知っている人はいますか

Autotrader サイトの検索のようなものを探しています

これを行うオンラインサービス(おそらくGoogleマップAPI?)はありますか、それとも通常は開発者によって構築されています。

4

2 に答える 2

2

これを実装するために私が取る手順は次のとおりです。

ユーザーが 8 マイル以内の都市を検索できるようにし、住所または都市フィールドもあるテーブル A のレコードと一致すると仮定します。

  1. ステップ 1: テーブル A に新しいレコードを追加するとき、後で検索に使用します。Google Map API を介して、その住所または都市の緯度/経度をそのテーブルの各行に保存できます。

  2. ステップ 2: ユーザーが都市のキーワードを入力したら、再び Google Map API を使用して、検索キーワードの都市の緯度経度を取得します。

  3. ステップ 3: キーワード lat/long を使用してテーブル レコードの lat/long と照合し、「having」ステートメントを含む Harvensine Formula のクエリを使用して、必要なレコードを取得します。

これを行う方法に関する式と mysql クエリは、ここで詳しく説明されています
。使用する Google マップ API は、この Google ドキュメントにあります。

ただし、「ロサンゼルス」などの都市名を入力するとします。ロサンゼルスが地図上の「点」であると仮定するのは正しくありません...形状のある都市です。では、すべての結果がロサンゼルスから 5 マイル以内にあると答えたとします。この質問はあいまいです。このため、Google API は同じ都市に対して複数の座標セットを返し、その場所の境界ポリラインを定義します。本当に正確な結果が必要な場合は、中心から 5 マイルだけを考慮するのではなく、他の座標も考慮して、結果の結合を使用してください。

于 2013-08-15T22:02:12.853 に答える
1

ある場所から X マイル以内にある場所の種類を Google マップで探している場合は、https://developers.google.com/places/documentation/?hl=fr&csw=1#PlaceSearchesを実行できます。

特定の場所のセット (データベース内の場所など) から X マイル以内の場所を探している場合は、その一部を自分で行う必要があります。Google マップを使用して各場所の経度と緯度を取得し、 http://www.movable-type.co.uk/scripts/latlong.htmlのような数式を使用して距離を計算し、範囲内にある結果のみを表示します。あなたが望む距離。

于 2013-08-15T22:00:37.157 に答える