জিওস্পেশিয়াল কোয়েরি ব্যবহার করা

লোকেশন সচেতন পরিষেবা তৈরি করতে, আপনি Cloud Firestore-এ জিওস্পেশিয়াল কোয়েরি করতে পারেন। যেমন, আপনি কোনও ব্যবহারকারী এবং কাছাকাছি আগ্রহের জায়গার মধ্যে দূরত্ব খুঁজে পেতে পারেন, সবচেয়ে কাছের থেকে সবচেয়ে দূরের হিসেবে সেগুলি সাজাতে পারেন।

সংস্করণ সংক্রান্ত প্রয়োজনীয়তা

জিওস্পেশিয়াল কোয়েরি ফিচারের জন্য Firestore Enterprise এডিশন ডেটাবেস প্রয়োজন।

শুরু করার আগে

জিওস্পেশিয়াল কোয়েরি পারফর্ম করতে, আপনাকে প্রথমে সেইসব ফিল্ডের জন্য জিওস্পেশিয়াল ইন্ডেক্স তৈরি করতে হবে যেগুলি আপনি সার্চ করতে চান।

জিওস্পেশিয়াল কোয়েরি চালানো

জিওস্পেশিয়াল কোয়েরি পারফর্ম করতে, search(...) স্টেজের query প্যারামিটারের মধ্যে geoDistance এক্সপ্রেশন ব্যবহার করুন।

শুধুমাত্র লেস-দ্যান বা ইকুয়ালস (<=) অপারেটর কাজ করে। দূরত্ব মিটার এককে পরিমাপ করা হয়।

যেমন, নিম্নলিখিত কোয়েরিটি তালিকাভুক্ত জিওপয়েন্টের ১,০০০ মিটারের মধ্যে থাকা সব রেস্তোরাঁ খুঁজে পায়।

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