1. 创建地理位置结构集:
在云开发控制台中,你可以创建一个地理位置结构集,用于存储包含地理位置信息的记录。
2. 添加记录:
在代码中,可以使用 collection.add() 方法向地理位置结构集中添加记录,其中包含经纬度信息。
const db = wx.cloud.database();
const collection = db.collection('yourGeoCollection');
collection.add({
data: {
location: new db.Geo.Point(longitude, latitude),
name: 'Place Name'
},
success: res => {
console.log(res);
},
fail: err => {
console.error(err);
}
});
在上述代码中,location 字段是一个地理位置对象,使用 new db.Geo.Point(longitude, latitude) 来创建。
3. 查询附近的记录:
可以使用 $geoNear 操作符来查询附近的记录,指定一个中心点和半径。
collection.where({
location: db.command.geoNear({
geometry: new db.Geo.Point(longitude, latitude),
maxDistance: 10000, // 最大距离,单位米
minDistance: 0 // 最小距离,单位米
})
}).get({
success: res => {
console.log(res.data);
},
fail: err => {
console.error(err);
}
});
上述代码中的查询条件使用了 $geoNear 操作符,指定了一个中心点和距离范围。
请注意,上述代码中的 yourGeoCollection 是你自己创建的地理位置结构集的集合名称,需要根据实际情况替换。另外,经度和纬度分别对应位置的经纬度坐标。详细的文档和更多使用示例可以在[微信小程序云开发文档 - 地理位置](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/geo.html)中查阅。
转载请注明出处:http://www.zyzy.cn/article/detail/5911/微信小程序