收藏
回答

聚合操作时,使用geoNear后获取的distanceField单位是什么呢?如何换算为"公里"呢?

以官方文档提供的示例代码为例:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/aggregate/Aggregate.geoNear.html#%E7%A4%BA%E4%BE%8B

红框中获得的这个distance单位是什么呢?如何换算为"公里"呢?


回答关注问题邀请回答
收藏

2 个回答

  • 2021-12-28

    聚合模式下,spherical为true时,返回的是弧度,需要乘以地球半径6371km,则distanceField的单位也是km,如果换算成米,则乘以6371000;

    其次,需要注意的是,minDistance 和maxDistance 也是对弧度的范围约束,对应的如果想把范围约束在0-5km内,则minDistance,maxDistance的值分别设置为:0和5/6371,即minDistance:0,maxDistance:0.0007848061528;

    2021-12-28
    有用 1
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2021-01-07

    https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/command/Command.geoNear.html

    建议后续提问前先搜索,或者提问后关注下帖子右侧相关问题推荐。

    2021-01-07
    有用
    回复 4
    • Neveregret
      Neveregret
      2021-01-08
      不好意思,我看到了maxDistance单位“米”,只是文档里没说distanceField单位也是“米”。实在抱歉,添麻烦了。
      2021-01-08
      回复
    • kevin_chen
      kevin_chen
      2021-12-07
      按照文档spherical 选true,distanceField的单位天王老子来了也不是米!如果spherical 选true,distanceMultiplier填6371我只能说距离不那么离谱了,也不敢确定是不是对的~文档确实没有说清楚,楼上问得真是一点毛病没有,我也想问呢!!参考:https://blog.csdn.net/forandever/article/details/44751801
      2021-12-07
      回复
    • 阿水
      阿水
      2022-03-16
      查询返回的距离是0.0006........单位是米?明显不是啊
      2022-03-16
      回复
    • 的李先生Nicall
      的李先生Nicall
      2022-04-20
      广州到吴川,距离0.049米,呀屎啦
      2022-04-20
      回复
登录 后发表内容
问题标签