استفاده از پُرسمان‌های زمین‌مکانی

می‌توانید پُرسمان‌های جغرافیایی-فضایی را در Cloud Firestore اجرا کنید تا سرویس‌های آگاه از مکان بسازید. برای مثال، می‌توانید فاصله بین کاربر و نقاط جالب اطراف را پیدا کنید و آن‌ها را از نزدیک‌ترین به دورترین مرتب کنید.

الزامات نسخه

ویژگی پُرسمان جغرافیایی به پایگاه داده نسخه Firestore Enterprise نیاز دارد.

قبل از شروع

برای اجرای پُرسمان زمین‌مکانی، ابتدا باید برای فیلدهایی که می‌خواهید در آن‌ها جستجو کنید، نمایه‌های زمین‌مکانی ایجاد کنید.

اجرای پُرسمان زمین‌مکانی

برای اجرای پُرسمان زمین‌مکانی، از عبارت geoDistance در پارامتر query مرحله search(...) استفاده کنید.

فقط از عملگر کوچک‌تر یا مساوی (<=) پشتیبانی می‌شود. فاصله با متر اندازه‌گیری می‌شود.

برای مثال، پُرسمان زیر همه رستوران‌های واقع در ۱۰۰۰ متری نقطه جغرافیایی فهرست‌شده را پیدا می‌کند.

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 */)
  });