知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁 » 新聞資訊 » 小程序相關(guān) >
小程序里顯示附近的人,云開發(fā)數(shù)據(jù)庫實(shí)現(xiàn)附近的人,按照位置遠(yuǎn)近排序,附近多少公里內(nèi) ...
發(fā)表時(shí)間:2022-7-26
發(fā)布人:葵宇科技
瀏覽次數(shù):37
最近好多同學(xué)問石頭哥附近的人如何實(shí)現(xiàn)。今天呢,就借助這篇文章,給大家做一個(gè)系統(tǒng)的解答。
老規(guī)矩,先看效果圖
接下來就教大家如何實(shí)現(xiàn)附近的位置。
一,創(chuàng)建數(shù)據(jù)
首先我們查詢附近的人的時(shí)候,需要先有附近人的位置,也就是經(jīng)緯度。這里我以幾個(gè)城市的經(jīng)緯度為例。
這里經(jīng)緯度查到后,我們需要把這些位置信息存到數(shù)據(jù)庫里。
1,注意存位置時(shí)必須是Point類型
如我添加的北京的位置如下
2,批量添加(選看)
如果感覺一個(gè)添加比較麻煩的話,可以先添加一條,然后導(dǎo)出為json,自己在json里批量編輯。
二,查找附近的人
我們查找附近的人,肯定是想按照排序由近到遠(yuǎn)的顯示附近的人在地圖上,所以這里我們就要用到geoNear做聚合查詢。
geonear查詢有兩種方式,建議大家用Aggregate.geoNear
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/aggregate/Aggregate.geoNear.html
用這個(gè)的主要好處是,我們可以拿到附近人離自己的距離
三,獲取當(dāng)前的位置
我們要做附近的人肯定要先獲取自己的位置,獲取自己的位置就用wx.getLocation即可,對(duì)應(yīng)文檔如下
https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html
這個(gè)使用之前必須要在app.json里注冊(cè)權(quán)限,如果不注冊(cè)權(quán)限,就會(huì)報(bào)如下提示

四,獲取附近人的經(jīng)緯度
代碼其實(shí)很簡單,如下
五,在地圖上顯示附近的人
既然位置都已經(jīng)查詢到了,我們就可以在地圖上顯示了,地圖上顯示用到了map組件的markers
wxml代碼
<map markers="{{markers}}" show-location scale="4"
style="height: 100vh;" />
js代碼
Page({
data: {
markers: []
},
onLoad() {
wx.getLocation({ //1,獲取自己的位置
type: 'wgs84',
success: res => {
const latitude = res.latitude
const longitude = res.longitude
console.log('當(dāng)前在杭州的經(jīng)緯度', res.longitude, res.latitude)
//2,查找附近的人
let markers = []
const db = wx.cloud.database()
const $ = db.command.aggregate
db.collection('location').aggregate()
.geoNear({
distanceField: 'juli', // 與給定點(diǎn)的距離
spherical: true,
near: db.Geo.Point(longitude, latitude), //當(dāng)前自己的位置
}).end()
.then(res => {
console.log('位置', res)
res.list.forEach(item => {
markers.push({
longitude: item.location.coordinates[0],
latitude: item.location.coordinates[1]
})
})
// 地圖上的標(biāo)記點(diǎn)
this.setData({
markers
})
})
}
})
}
})
好了,到這里就帶大家完整的實(shí)現(xiàn)了地圖上顯示附近人的功能了。如果覺得石頭哥文章還不錯(cuò),歡迎關(guān)注點(diǎn)贊。
相關(guān)案例查看更多
相關(guān)閱讀
- SEO
- 云南小程序開發(fā)推薦
- 正規(guī)網(wǎng)站建設(shè)公司
- 跳轉(zhuǎn)小程序
- 小程序模板開發(fā)公司
- 云南做軟件
- 小程序開發(fā)課程
- 網(wǎng)站建設(shè)制作
- 網(wǎng)站建設(shè)服務(wù)公司
- 專業(yè)網(wǎng)站建設(shè)公司
- 汽車報(bào)廢回收
- 云南小程序被騙
- 網(wǎng)站建設(shè)方案 doc
- 小程序被騙退款成功
- 云南小程序開發(fā)公司
- 小程序設(shè)計(jì)
- 云南網(wǎng)站建設(shè)哪家公司好
- 云南軟件設(shè)計(jì)
- 云南網(wǎng)站建設(shè)外包
- 云南網(wǎng)站建設(shè)價(jià)格
- 網(wǎng)站建設(shè)優(yōu)化
- 云南網(wǎng)站建設(shè)報(bào)價(jià)
- 紅河小程序開發(fā)
- 云南手機(jī)網(wǎng)站建設(shè)
- 網(wǎng)站建設(shè)開發(fā)
- 云南軟件定制公司
- 網(wǎng)絡(luò)公司聯(lián)系方式
- 保險(xiǎn)網(wǎng)站建設(shè)公司
- 河南小程序制作
- 搜索排名