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