2012-02-28 154 views
2

我使用谷歌地圖v3捕獲MS SQL數據庫表中的所有地址,稱爲位置,它將具有像LocationName,LocationAddress,LocationZip,LocationState,LocationCity,LocLatitude,LocLongitude和LocationType(如醫院,醫師辦公室或急救中心等)..鄰近搜索谷歌地圖

我有一個輸入框,用戶可以通過關鍵字和5,10,20和50英里半徑選項下拉菜單選項。我已經能夠使用輸入框,並通過輸入關鍵字作爲查詢字符串搜索所有匹配的位置,併爲他們在谷歌地圖api 3繪製標記。我也喜歡在匹配的結果,如5英里的說洛杉磯..

可以使用本網站使用的方法嗎? http://maps.huge.info/dragcircle2.htm

它正在繪製一個5英里的半徑,我需要幾乎捕獲該半徑內的所有標記?請一些天才谷歌地圖球員/女孩給我一些指導..

回答

3

谷歌有一個完整的教程,創建一個商店定位器。您缺少的重要信息是如何查詢數據庫以撤回半徑內的位置。

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 

它採用三角!