o2o業務,如何依據當前位置計算附近的點

2021-08-21 12:38:17 字數 1398 閱讀 3501

我叫外賣,10公里外的商戶我相信他是不會送餐的。

我叫桶裝水,3公里估計人家都嫌遠。

這類對距離敏感的業務,也就是傳說的o2o業務,都需要在一定的距離範圍內開展工作。

這類距離敏感型業務,涉及4個最基本的問題。

1、如何獲取當前使用者位置座標

2、如何計算兩個座標點之間的直線距離

3、如何從全體商戶集合中篩選出符合距離要求的一批商戶

4、如何根據遠近進行排序

一、或取當前使用者座標位置

wx.getlocation(})

二、計算兩點間直線距離

計算兩點間距離,這個有固定的數學公式,示例**如下,獲得距離公尺數。(這個其實應該屬於排序環節)

//計算距離(公尺)

$distance = getdistance(40.035076141357,116.3627243042,40.035076142357,116.3927243142);

var_dump($distance);

//計算公式

function getdistance($lat1, $lng1, $lat2, $lng2)

三、篩選附近的商戶

1、首先要給資料庫商戶表家裡索引,經度與緯度聯合索引

2、依據當前點,範圍反向計算出最大、最小經緯度

3、使用範圍查詢

//根據當前座標,範圍計算最大最小座標點

function

getaround

($latitude,$longitude,$raidus)

//範圍查詢

select * from 商戶表 where (latitude between minlat and maxlat) and (longitude between minlng and maxlng);

四、進行遠近排序

對於整數陣列我們可以方便的使用各類排序演算法,但當陣列元素是物件時,就平添了實現上的麻煩。

$shops = 已查詢出的商戶集合;//這是乙個物件陣列

$myspace = array('lat'=>40.035076141357,'lng'=>116.3627243042);

//計算各點與當前點的距離

for($i=0;$i

$shops);$i++)

//排序,一般而言周邊商戶資料量都比較小,這裡用氣泡排序演算法實現

bubllesort($shops);

//$shops已經按距離從近到遠排序

function

swap

(&$arr,$i,$j)

}function

bubblesort

(&$arr)

}}

O2O資料倉儲實踐 應對快速變化業務模型

文章講的是o2o資料倉儲實踐 應對快速變化業務模型,2014年4月10日 12日,第五屆中國資料庫技術大會 dtcc 2014 在北京五洲皇冠國際酒店拉開序幕。今天是12日下午的專場8 資料倉儲設計和管理。來自美團網的資料倉儲架構師徐章給大家帶來了 o2o資料倉儲實踐 應對快速變化的業務模型 o2o...

家政O2O受資本追捧背後 如何卡位細分市場?

近段時間,家政o2o行業掀起一陣融資熱潮,e家潔 阿姨來了先後獲得數百萬美元的融資。另有訊息顯示,行業內另外兩家公司阿姨幫和雲家政也在洽談融資。資本市場的青睞,源於家政o20領域旺盛的市場需求,以及與網際網路結合後爆發出新的機會。分析認為,行業的爆發式增長給創業者們帶來機會的同時也帶來了挑戰,58同...

O2O進入下半場,雲計算將扮演重要角色

o2o進入下半場已成為o2o巨頭們的共識。綜合o2o平台巨頭美團點評王興認為,中國o2o行業在發生幾起大的合併之後,已結束燒錢補貼,上半場大家是拼融資,這個階段結束了 中國網際網路在人口紅利消失之後,進入 不依賴紅利,依賴技術 依賴服務,需要新的增長模式 的下半場。共享出行巨頭滴滴掌門人程維也說過,...