求一種手機網頁精確擷取地理位置的最佳方法(需求:計算使用者到餐廳的距離,限制配送範圍內才能點餐)

來源:互聯網
上載者:User

由於項目需要根據目前使用者的地理位置計算附近的餐廳,並將餐廳根據距離遠近排序,並且只能在配送範圍內的餐廳下單。

我想知道有沒有什麼地圖API幫我實現這個功能。

我目前想到的是這樣的:
1:得到使用者當前所在準確經緯度,
2:我們每個餐廳表也有一個經緯度欄位資訊,並且有一個配送半徑多少公裡以內,
3:根據使用者的經緯度查詢出可以點餐的餐廳,並計算距離,

目前的問題就是步驟1,步驟3,怎麼實現?

再補充一個問題:

步驟2其實配送半徑是比較簡單的做法,最好是有個配送範圍,能在地圖上畫一個地區出來,但是這樣就更複雜了吧,我只是這個想法,還不知道能否通過怎樣的方式去實現。(上次問過和這個差不多的問題,有人說計算距離需要專門的地圖位置計算服務器來做,那這樣豈不是門檻太高了,我想有沒有什麼比較方便的地圖API可以實現一部分,然後通過程式PHP+MYSQL實現)

希望大神幫忙指點一下,謝謝了^_^

PS:如果可以能用的API實現也可以,想知道其中的原理

回複內容:

由於項目需要根據目前使用者的地理位置計算附近的餐廳,並將餐廳根據距離遠近排序,並且只能在配送範圍內的餐廳下單。

我想知道有沒有什麼地圖API幫我實現這個功能。

我目前想到的是這樣的:
1:得到使用者當前所在準確經緯度,
2:我們每個餐廳表也有一個經緯度欄位資訊,並且有一個配送半徑多少公裡以內,
3:根據使用者的經緯度查詢出可以點餐的餐廳,並計算距離,

目前的問題就是步驟1,步驟3,怎麼實現?

再補充一個問題:

步驟2其實配送半徑是比較簡單的做法,最好是有個配送範圍,能在地圖上畫一個地區出來,但是這樣就更複雜了吧,我只是這個想法,還不知道能否通過怎樣的方式去實現。(上次問過和這個差不多的問題,有人說計算距離需要專門的地圖位置計算服務器來做,那這樣豈不是門檻太高了,我想有沒有什麼比較方便的地圖API可以實現一部分,然後通過程式PHP+MYSQL實現)

希望大神幫忙指點一下,謝謝了^_^

PS:如果可以能用的API實現也可以,想知道其中的原理

可以調用高德地圖的api擷取餐廳的經緯度,然後用h5的navigator.geolocation來擷取目前使用者的經緯度,然後計算距離。

步驟1的話,可以像1樓那樣,利用HTML5的API去擷取經緯度
步驟3的話,可以找一個地圖,比如百度地圖、高德地圖的開發人員文檔,裡面就會有對應的方法,直接調用就可以了
給你幾個連結,你可以看看
HTML5地理位置
HTML5 Geolocation(地理定位)
百度地圖API
高德地圖API

如果在裡面直接擷取使用者的經緯度(介面有提供),然後基於你餐廳的經緯度去計算距離

目前 我們採用的方案是 使用者地理位置 通過的Api 來擷取

距離計算可以採用樓上說的通過mysql 地球半徑來計算, 但是這個查詢速度 比較慢..

目前項目使用但是 Geohash 的演算法來進行 距離的計算. 或者參考某團的這個方案來進行 某團文檔

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.