我有一個商店列表,我已經把一個javascript數組。我也有他們的地址。jquery自動完成店鋪附近的店鋪
我需要創建一個自動完成,它允許我輸入一個城市名稱,並顯示最接近該位置的3個。我想,它將需要與谷歌的API接口一些如何但不知道從哪裏開始。
我已經得到了實際的自動完成jQuery的東西在ajax腳本上工作,但我不知道如何獲得位置最近的東西。
我有一個商店列表,我已經把一個javascript數組。我也有他們的地址。jquery自動完成店鋪附近的店鋪
我需要創建一個自動完成,它允許我輸入一個城市名稱,並顯示最接近該位置的3個。我想,它將需要與谷歌的API接口一些如何但不知道從哪裏開始。
我已經得到了實際的自動完成jQuery的東西在ajax腳本上工作,但我不知道如何獲得位置最近的東西。
你需要存儲的緯度/經度位置,https://developers.google.com/maps/documentation/geocoding/然後,你需要的用戶的緯度/經度位置,用一些相對簡單的數學,你可以再計算這兩個點之間的距離:
$distance = round((6371*3.1415926*sqrt(($lat2-$lat1)*($lat2-$lat1) +
cos($lat2/57.29578)*cos($lat1/57.29578)*($lon2-$lon1)*($lon2-$lon1))/180), 1);
如果您有大量的商店和大量的用戶,我建議您在mysql表中緩存這些距離,您必須爲數據庫中的每個商店執行此操作。所以你爲每個例子創建一個表格請求這個郵政編碼,並建立一個cron刪除這些表每小時左右。
所以這個過程:
注意google只有全部發出數量有限的數據請求。儘管這個數字很大(我相信每天有25000個請求),但建議您存儲商店和用戶的緯度位置。也會提高速度。
我做了類似的事情,我提取了位置插入到數據庫中的經緯度位置,並將其插入到單獨的每個郵編經緯度表中。