লোকেশন-সচেতন পরিষেবা তৈরি করতে আপনি 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 */) });