Menggunakan kueri geospasial
Anda dapat menjalankan kueri geospasial di Firestore untuk membangun layanan yang memiliki kemampuan penentuan lokasi. Misalnya, Anda dapat menemukan jarak antara pengguna dan lokasi menarik di sekitar, lalu mengurutkannya dari yang terdekat hingga terjauh.
Persyaratan Edisi
Fitur kueri geospasial memerlukan database edisi Firestore Enterprise.
Sebelum memulai
Untuk melakukan kueri geospasial, Anda harus terlebih dahulu membuat indeks geospasial untuk kolom yang perlu ditelusuri.
Menjalankan kueri geospasial
Untuk menjalankan kueri geospasial, gunakan ekspresi geoDistance dalam parameter query pada tahap search(...).
Hanya mendukung operator kurang dari atau sama dengan (<=). Jarak diukur dalam meter.
Misalnya, kueri berikut menemukan semua restoran dalam jarak 1.000 meter dari titik geografis yang tercantum.
Web versi 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 */) });