2012-02-28 19 views
2

私は、LocationName、LocationAddress、LocationZip、LocationState、LocationCity、LocLatitude、LocLongitude、LocationTypeのようなカラムを持つLocationsというMS SQLデータベーステーブルのすべてのアドレスを取得するためにgoogle map v3を使用しています。医師のオフィスまたは緊急センターなど)proximity search google map

私は、ユーザーがキーワードで検索できる入力ボックスと、5,10,20および50マイル半径オプションのドロップダウンを持っています。私は入力ボックスを使用して、入力したキーワードをquerystringとして渡して、Google map api 3で一致するすべての場所とプロットマーカーを検索することができました。また、

このサイトで使用されている方法を使用できますか? http://maps.huge.info/dragcircle2.htm

半径5マイルで描画していますが、その半径内のすべてのマーカーをかなりキャプチャする必要がありますか?いくつかの天才のGoogleマップの男の子/女の子は私にいくつかのガイダンスを与えてください。

答えて

3

Googleは店舗ロケータの作成に関する完全なチュートリアルを持っています。あなたが欠けている重要な情報は、半径内の場所を取り戻すためにデータベースを照会する方法です。

http://code.google.com/apis/maps/articles/phpsqlsearch.html

詳細については、上記のリンクを見てみますが、クエリは次のように(MySQLの)気にいらになります:

SELECT address, name, lat, lng, (3959 * acos(cos(radians('%s')) * cos(radians(lat)) * cos(radians(lng) - radians('%s')) + sin(radians('%s')) * sin(radians(lat)))) AS distance FROM markers HAVING distance < '%s' ORDER BY distance LIMIT 0 , 20 

それは、三角法を使用しています!