我有一個地址數據庫,我希望能夠讓用戶在地圖上放下一個精確定位點,並根據該點的駕駛距離定義一個區域。我想知道是否有方法通過該用戶定義的區域來搜索我的數據庫。谷歌地圖按自定義區域搜索地址
0
A
回答
0
對於使用公里國際體系,更換腳本的一部分這一個:
6371 * acos(cos(radians(LATITUDE1)) * cos(radians(LATITUDE2)) * cos(radians(LONGITUDE1) - radians(LONGITUDE2)) + sin(radians(LATITUDE1)) * sin(radians(lat))) AS DISTANCE
來源:http://www.codecodex.com/wiki/Calculate_Distance_Between_Two_Points_on_a_Globe#MySQL
0
你應該能夠得到針落地的經度和緯度座標,然後將數據發送到服務器,並使用此頁上列出的查詢返回結果:http://code.google.com/apis/maps/articles/phpsqlsearch.html
SELECT id, (3959 * acos(cos(radians(37)) * cos(radians(lat)) * cos(radians(lng) - radians(-122)) + sin(radians(37)) * sin(radians(lat)))) AS distance FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;
你將需要將地址編碼爲經度和緯度,然後將它們與每個地址一起存儲。這是我用來刮經度和緯度地區,以我的數據庫地址確切的代碼:
/* Geocode Address
/***********************/
$query = $db->query("SELECT * FROM wholesale_clients WHERE hq_id IN (SELECT owner_id FROM storelocator)");
while($info = $query->fetch_array()) {
$address = str_replace(' ', '+', $info['address_1'] . ' ' . $info['address_2'] . ' ' . $info['suburb'] . ' ' . $info['state'] . ' ' . $info['zip'] . ' Australia');
$file = file_get_contents('https://maps.googleapis.com/maps/api/geocode/xml?address='.$address.'&sensor=false');
$file = xml2array($file);
$lat = $file['GeocodeResponse']['result']['geometry']['location']['lat'];
$lng = $file['GeocodeResponse']['result']['geometry']['location']['lng'];
//echo $info['hq_id'] . ' ' . $lat . ' ' . $lng . '<br />';
if(!empty($lat) && !empty($lng)) {
$db->query("UPDATE `storelocator` SET `lat` = '" . $lat . "', `lng` = '" . $lng . "', `updated` = 1 WHERE `owner_id` = '" . $info['hq_id'] . "'");
}
}
/***********************/
XML2array功能:http://www.bin-co.com/php/scripts/xml2array/
相關問題
- 1. 將地址搜索添加到自定義谷歌地圖
- 2. 谷歌自定義搜索地圖
- 3. Ionic - 谷歌地圖自定義按鈕
- 4. 谷歌地圖地理編碼與自定義標籤地址?
- 5. 谷歌地圖自動選擇區域
- 6. 在谷歌地圖區域內搜索大綱(街道)
- 7. 谷歌地圖 - 在地圖上的多個自定義按鈕
- 8. 谷歌地圖搜索地點
- 9. 谷歌地圖本地服務搜索
- 10. 谷歌地圖區域/鄰域選擇
- 11. 拆分谷歌搜索地址
- 12. 谷歌地圖搜索輸出谷歌地圖的搜索whisperingrer的國家
- 13. 在谷歌地圖上的搜索地址api
- 14. 谷歌地圖API:如何選擇搜索和地址
- 15. 谷歌地圖上的繪圖區域
- 16. 谷歌地圖上的定位地址
- 17. 如何在谷歌地圖中定義出區域中的點
- 18. 使用谷歌地圖在定義區域上列出事件
- 19. 谷歌地圖:「地圖未定義」
- 20. 谷歌地圖自定義內容框?
- 21. 刷新自定義infowindow谷歌地圖
- 22. 自定義android谷歌地圖v2
- 23. 自定義谷歌地圖標記
- 24. 自定義谷歌地圖標題
- 25. 自定義谷歌地圖註釋
- 26. 谷歌地圖API:V2:自定義infowindow bindInfoWindowHtml
- 27. IOS谷歌地圖自定義標記
- 28. 谷歌地圖javascript自定義表面
- 29. 谷歌地圖 - 來自mysql數據庫的搜索地址/城市
- 30. 谷歌地圖API:覆蓋區域
所以我需要什麼並不像真正駕駛距離的烏鴉那樣蒼蠅。然而,我可以做的是在我得到這個清單後,我可以使用谷歌駕車距離再次過濾:http://briancray.com/2009/06/23/calculate-driving-distance-google-maps-api/ – JAstanton