(二)小程序云开发之aggregate.geoNear()获取两地理点之间距离
生活随笔
收集整理的這篇文章主要介紹了
(二)小程序云开发之aggregate.geoNear()获取两地理点之间距离
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
私活還是那個私活,功能還是那么嗯嗯啊啊,功能要求獲取用戶到站點的距離,本來想用騰訊地圖的api,今天一看小程序云開發文檔,云數據庫聚合aggregate中有一個geoNear的方法,可以返回兩點間距離。這不是就解決了嘛~事情當然不會那么簡單......要是這么簡單我還寫什么(我還怎么水文章啊)
aggregate.geoNear()官方解釋
?
主要看distanceField這個參數,這不就是咱們需要的距離嗎,ok直接把官方代碼搬過來改改就用吧,CV大法好!
具體實現
let {list} = await db.collection('your_collection_name').aggregate().geoNear({distanceField: 'distance',// 距離的字段名,最后計算出的距離會放在這個字段中,單位米spherical: true,query: { // 篩選,同where和aggregate.match寫法status: 1,station_name: db.RegExp({ // 相當于like,模糊查詢regexp: '.*' + event.data.search || '' + '.*',options: 'i',}),},near: db.Geo.Point(event.data.longitude, event.data.latitude) // 經緯度}).skip((now - 1) * size) // 翻頁.limit(size).end()?接下來保存,打開云函數本地調試看看效果....邦!
這就毫不猶豫的報了個錯,?經過各種百度,看官方文檔都沒找到具體原因,我都開始跟小姐姐說自己跳坑里出不來了,最后的最后看到了一位大神說要創建索引,經過一通折騰竟然成功了...小姐姐夸我真棒!咳咳,具體方法如下:
?
碎碎念
你他喵的騰訊怎么就不知道好好寫文檔呢!!官方文檔上什么時候說要寫索引了,無話可說,靠
搬磚去了
?
總結
以上是生活随笔為你收集整理的(二)小程序云开发之aggregate.geoNear()获取两地理点之间距离的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mwArray
- 下一篇: JavaScript实现prime(普里