gpt4 book ai didi

Firebase - 按自定义功能排序(距离)

转载 作者:行者123 更新时间:2023-12-03 19:38:01 29 4
gpt4 key购买 nike

我在 firebase 中有一个列表,其中包括地理位置(经度和纬度),并且我想获得距给定坐标最近的 10 个位置。

我正在从 MySQL 过渡,在那里我将计算 SELECT 中的距离, 并在 ORDER BY 中订购.

如果我不能从 firebase SDK 做到这一点,有没有办法添加自定义功能?

最佳答案

您可以将其实现为请求-响应,就像解释的那样here以这种方式使用云函数:

  • 客户端在 closest/requests/requestID 中推送请求.您可以 pushrequestID: {long: 'xxx', lat: 'xxxxx' } 这样的对象
    functions.database.ref('/closest/requests').push({
    latitude: 'youlat',
    longitude: 'yourlong'
    });
  • 一个云函数listens closest/requests新请求并将响应设置为 closest/responses/requestID
    functions.database.ref('closest/requests/{requestID}')
    .onCreate(event => {
    const request = event.data.val()
    const response = getClosest(request.latitude, request.longitude)
    functions.database.ref('closest/responses/' + event.params.requestID)
    .set({
    response: response
    })
    }
  • getClosest应该是一个函数,它查看数据库中的数据并计算出距离最近的 10 个位置。

    我没有测试过这段代码是否有效,但我认为了解如何实现这一点就足够了。如果您需要进一步的帮助,请告诉我:)

    关于Firebase - 按自定义功能排序(距离),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45111607/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com