2011-06-20 144 views
2

我有一個酒店地址的數據庫,也有經緯度的POI。谷歌地圖半徑搜索

我想在半徑(5公里10公里...)的酒店周圍搜索這些POI。怎麼做?

感謝

+0

[Radius/nearest results - Google Maps API](http://stackoverflow.com/questions/5755905/radius-nearest-results-google-maps-api) –

回答

2

有一個(相當廣泛)教程創建一個「商店定位器」類型在JavaScript中,MySQL的PHP​​可以從谷歌地理API小組在此頁:

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是屬性如果您的表格