2011-06-20 122 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是属性如果您的表格