3
  1. ここに問題があります... ユーザーが住所を入力できるフィールドがあります (これは、Google Maps API を介してジオコード化されます)。
  2. データベースにウィジェットのアドレスがいくつかあります(アドレスとして保存されます。これも簡単にジオコーディングできます)。

私が必要とするのは、ユーザーが住所を入力し、住所からの距離に基づいてウィジェットのリストが表示されるようにすることです。私はウィジェット用に何千ものアドレスを持っており、ユーザーは明らかに無数のアドレスを持っています。

何か案は?

ありがとう。

4

4 に答える 4

2
SELECT latitude, longitude, SQRT( POW( 69.1 * ( latitude - 52.58 ) , 2 ) + 
POW( 69.1 * ( - 1.12 - longitude ) * COS( latitude / 57.3 ) , 2 ) ) AS distance 
FROM location ORDER BY distance

ここをクリック 距離を計算するいくつかの方法が提供されています。最適な方法を選択してください。

于 2014-08-27T10:52:05.230 に答える
2

アイテムをMySQL DBに保存している場合、必要なものは次のとおりです

于 2010-03-17T21:16:38.140 に答える
1

Google を使用して地理距離フィルタリングを計算することはできません。そのためには、あなたのデータを送信し、保存してもらい、クエリを実行する必要があります。彼らは現在、または将来、そのサービスを提供するかもしれませんが、私は聞いたことがありません.

より合法的で、より機能的で、より高価な順に並べると、次のようになります。

A/単一のポイントまたは関心のある場所がサイトの顧客によって入力されるため、地理座標を収集します。次に、独自の検索エンジンを使用して、ポイントからの距離で検索します。Google との契約に違反している可能性がありますが、サーバーの負荷を軽減するために「キャッシュ」結果について言及しています。(理由は個人的な推測です。)

B/ Google を使用して、最後に見たサイトの IP アドレスごとに 1 日あたり最大 5000 まで、おそらく一度に 1 つずつ、一括ジオコーディングを行います。それが利用規約に違反していないかどうかさえわかりません。

C/ ジオコーディング サービスとの契約を購入し、ジオコーディングしたものを保存します。

D/ ジオコーディング ライブラリを購入して、独自のジオコーディングを行う。

于 2012-11-11T01:42:01.807 に答える
0

このブログ記事「Google Maps API を使用して距離を計算する」が参考になるかもしれません。

于 2010-03-17T20:28:15.763 に答える