-1
我想弄清楚如何從用戶輸入的城市名稱中找到位置座標。我知道Google使用它的API來實現這一點,但我一直無法弄清楚如何實際取得這些結果,並將它們分配給php變量,以存儲在數據庫中,或用於搜索功能。如何從城市名稱中找到位置座標,然後將這些座標分配給一個變量?
本質上,我試圖做的是在我的網站上實現一個搜索系統,它允許用戶在城市的特定距離內搜索其他用戶。
如果有人可以幫幫忙,一個小白程序員,這將是真棒:)
謝謝!
我想弄清楚如何從用戶輸入的城市名稱中找到位置座標。我知道Google使用它的API來實現這一點,但我一直無法弄清楚如何實際取得這些結果,並將它們分配給php變量,以存儲在數據庫中,或用於搜索功能。如何從城市名稱中找到位置座標,然後將這些座標分配給一個變量?
本質上,我試圖做的是在我的網站上實現一個搜索系統,它允許用戶在城市的特定距離內搜索其他用戶。
如果有人可以幫幫忙,一個小白程序員,這將是真棒:)
謝謝!
下面是一些代碼,讓你開始
PHP找到緯度/經度
function buildGeocode($address_1, $address_2, $city, $state, $zip_code, $country){
$base_url = "http://maps.googleapis.com/maps/api/geocode/json";
$address = $address_1 . ' ' . $address_2 . ', ' . $city . ' ' . $state . ' ' . $zip_code . ' ' . $country;
$request_url = $base_url . "?address=" . urlencode($address) . "&sensor=false";
$data = json_decode(file_get_contents($request_url), true);
return array('lat' => $data['results'][0]['geometry']['location']['lat'], 'lng' => $data['results'][0]['geometry']['location']['lng']);
}
下面是一些MYSQL找到一個給定距離的項目,如鳥英里蠅,這應該被轉換爲PDO或逃避合適
SELECT SQL_CALC_FOUND_ROWS
*
FROM (SELECT location_tbl.*, (3959*(2*ASIN(SQRT(POW(SIN(((location_tbl.lat-" . $lat . ")*(PI()/180))/2),2)+COS(location_tbl.lat*0.017453293)*COS(" . $lat . "*0.017453293)*POW(SIN(((location_tbl.lng-" . $lng . ")*(PI()/180))/2),2))))) AS distance
FROM location_tbl
WHERE location_tbl.active = 1 AND location_tbl.deleted = 0) AS tmp_tbl
WHERE distance <= '" . $dis . "'
ORDER BY distance ASC
感謝您的幫助:) – user2631583
你有沒有嘗試過一些在PHP中,我們可以看到一些你試圖幫助你的代碼? – legrandviking