1

現在地の緯度経度を送信することで、コレクション内の最寄りの空港を検索したいと考えています。

2 つの緯度/経度座標間の距離を見つけるためにgeodistを使用しました。

質問:空港のすべてのコレクションを取得した後、現在の場所が特定の距離内にあるかどうかを確認するクエリを作成することはできますか?

例:コレクションのアイテムまでの現在の最小距離が 100km 以内の場合、このアイテムを結果として表示したいと思います。

この私のクエリ...

return Airport
    .find(_.pick(params, _.keys(Airport.schema.paths)))
    .populate(_.keys(_.groupBy(_.reject(
        strapi.models.airport.associations, {autoPopulate: false}), 'alias')).join(' '));

このマイルート...

{
    "method": "GET",
    "path": "/airport/:latitude/:longitude/",
    "handler": "Airport.findOne",
    "config": {
        "policies": []
     }
},

この私のコントローラー...

findOne: async (ctx) => {
    return strapi.services.airport.fetch(ctx.params);
},
4

2 に答える 2