SDK数据库 Command查询地理位置操作符


本文整理自网络,侵删。

Command.geoNear(options: Object): Command

支持端:小程序 , 云函数 , Web

按从近到远的顺序,找出字段值在给定点的附近的记录。

参数

options: Object

属性 类型 默认值 必填 说明
geometry GeoPoint 地理位置点 (Point)
maxDistance number 选填,最大距离,单位为米
minDistance number 选填,最小距离,单位为米

返回值

Command

索引要求

需对查询字段建立地理位置索引

示例代码

找出离给定位置 1 公里到 5 公里范围内的记录

const _ = db.command
db.collection('restaurants').where({
  location: _.geoNear({
    geometry: db.Geo.Point(113.323809, 23.097732),
    minDistance: 1000,
    maxDistance: 5000,
  })
}).get()

Command.geoWithin(options: Object): Command

支持端:小程序 , 云函数 , Web

找出字段值在指定区域内的记录,无排序。指定的区域必须是多边形(Polygon)或多边形集合(MultiPolygon)。

参数

options: Object

属性 类型 默认值 必填 说明
geometry Object 地理信息结构,Polygon,MultiPolygon,或 { centerSphere }

返回值

Command

索引要求

需对查询字段建立地理位置索引

示例代码 1:给定多边形

const _ = db.command
const { Point, LineString, Polygon } = db.Geo
db.collection('restaurants').where({
  location: _.geoWithin({
    geometry: Polygon([
      LineString([
        Point(0, 0),
        Point(3, 2),
        Point(2, 3),
        Point(0, 0)
      ])
    ]),
  })
})

示例代码 2:给定圆形

可以不用 geometry 而用 centerSphere 构建一个圆形。

centerShpere 从公共库 2.8.3 开始支持

centerSphere 对应的值的定义是:[ [经度, 纬度], 半径 ]

阅读剩余部分

相关阅读 >>

微信小程序工具 程序调试的三大主要功能区

微信小程序api 录音-获取录音管理器

sdk数据库 command聚合操作符聚合表达式

微信小程序api中,使用drawimage完成绘制图像,图像保持原始尺寸

微信小程序api 音频-创建audiocontext 对象。

微信小程序云开发 api数据库更新索引

微信小程序 卡券

微信小程序 数据预拉取

微信小程序 小程序代码构成

sdk数据库 command更新字段操作符

更多相关阅读请进入《微信小程序》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...