地理空間検索を使用する
Firestore で地理空間クエリを実行して、位置情報を認識するサービスを構築できます。たとえば、ユーザーと周辺のスポットの距離を検索し、近い順に並べ替えることができます。
エディションの要件
地理空間検索機能を使用するには、Firestore Enterprise エディションのデータベースが必要です。
始める前に
地理空間検索を実行するには、まず、検索するフィールドの地理空間インデックスを 作成する必要があります。
地理空間検索を実行する
地理空間検索を実行するには、search(...) ステージの query パラメータ内で geoDistance 式を使用します。
サポートされている演算子は、小なりイコール(<=)のみです。距離はメートル単位で測定されます。
たとえば、次のクエリは、リストされているジオポイントから 1,000 メートル以内のすべてのレストランを検索します。
Web バージョン 9
firestore.pipeline().collection('restaurants') .search({ query: field('location') .geoDistance(new GeoPoint(38.989177, -107.065076)) .lessThan(1000 /* m */) });
iOS
firestore.pipeline().collection("restaurants") .search( query: Field("location") .geoDistance(GeoPoint(latitude: 38.989177, longitude: -107.065076)) .lessThan(1000) )
Android
firestore.pipeline() .collection("restaurants") .search(new SearchOptions() .withQuery(field("location") .geoDistance(new GeoPoint(38.989177, -107.065076)) .lessThan(1000 /* meters */)));
Node.js
firestore.pipeline().collection('restaurants') .search({ query: field('location') .geoDistance(new GeoPoint(38.989177, -107.065076)) .lessThan(1000 /* m */) });