2011-06-20 22 views
2

私は緯度と経度のPOIの住所付きホテルのデータベースを持っています。Googleマップの半径検索

私はこれらのPOIを半径(5km 10km ...)で検索したいと考えています。どうやってするの?

おかげ

+0

[半径/最寄りの結果 - Google Maps API](http://stackoverflow.com/questions/5755905/radius-nearest-results-google-maps-api) –

答えて

2

ここにGoogleのジオAPIのチームから入手したJavaScript、MySQLのPHPの "店舗検索" タイプのページを作成するための(かなり大規模な)チュートリアルがあります:

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

の場合「ジオコード付近で検索する」のセクションが表示されている場合は、これを変更してホテルの設定済みジオコードにすることができます。代わりに、ホテル名の文字列を入力するだけでもかまいません。これは実際に検索をどのように機能させるかによって異なります。

これは役に立ちますか?

P.S.私はまた、あなたがあなた自身のバージョンMysql Haversine Procedure (radius)using a center point

0
SELECT 
*, 
ACOS(SIN(RADIANS(`lat`)) * SIN(RADIANS($lat)) + COS(RADIANS(`lat`)) 
* COS(RADIANS($lat)) * COS(RADIANS(`lon`) - RADIANS($long))) * 6380 AS `distance` 
FROM `places` 
WHERE 
ACOS(SIN(RADIANS(`lat`)) * SIN(RADIANS($lat)) + COS(RADIANS(`lat`)) 
* COS(RADIANS($lat)) * COS(RADIANS(`lon`) - RADIANS($long))) * 6380 < 10 
ORDER BY `distance` 

10を最適化したい場合は、このの超効率的なバージョンを作成する方法についてここに掲載キロ
$lat$long半径センターや円
latlonですテーブルの属性である場合

関連する問題