Anda dapat melakukan kueri geospasial di Cloud Firestore untuk membuat 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 kueri geospasial memerlukan database edisi Firestore Enterprise.
Sebelum memulai
Untuk melakukan kueri geospasial, Anda harus terlebih dahulu membuat indeks geospasial untuk kolom yang perlu Anda telusuri.
Menjalankan kueri geospasial
Untuk melakukan kueri geospasial, gunakan ekspresi geoDistance dalam parameter query dari 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 titik geografis 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 */) });