আপনি Cloud Firestore ভূ-স্থানিক কোয়েরি চালিয়ে অবস্থান-সচেতন পরিষেবা তৈরি করতে পারেন। উদাহরণস্বরূপ, আপনি একজন ব্যবহারকারী এবং নিকটবর্তী গুরুত্বপূর্ণ স্থানগুলোর মধ্যে দূরত্ব খুঁজে বের করতে পারেন এবং সেগুলোকে নিকটতম থেকে দূরতম পর্যন্ত সাজাতে পারেন।
সংস্করণের প্রয়োজনীয়তা
ভূ-স্থানিক অনুসন্ধান বৈশিষ্ট্যটির জন্য ফায়ারস্টোর এন্টারপ্রাইজ সংস্করণ ডেটাবেস প্রয়োজন।
শুরু করার আগে
ভূ-স্থানিক অনুসন্ধান করার জন্য, আপনাকে প্রথমে যে ক্ষেত্রগুলিতে অনুসন্ধান করতে হবে সেগুলির জন্য ভূ-স্থানিক সূচক তৈরি করতে হবে।
একটি ভূ-স্থানিক অনুসন্ধান চালান
ভূ-স্থানিক অনুসন্ধান করার জন্য, search(...) ধাপের query প্যারামিটারের মধ্যে geoDistance এক্সপ্রেশনটি ব্যবহার করুন।
শুধুমাত্র কম বা সমান ( <= ) অপারেটরটি সমর্থিত। দূরত্ব মিটারে পরিমাপ করা হয়।
উদাহরণস্বরূপ, নিম্নলিখিত কোয়েরিটি তালিকাভুক্ত জিওপয়েন্টের ১,০০০ মিটারের মধ্যে অবস্থিত সমস্ত রেস্তোরাঁ খুঁজে বের করে।
Web
firestore.pipeline().collection('restaurants') .search({ query: field('location') .geoDistance(new GeoPoint(38.989177, -107.065076)) .lessThan(1000 /* m */) });
আইওএস
firestore.pipeline().collection("restaurants") .search( query: Field("location") .geoDistance(GeoPoint(latitude: 38.989177, longitude: -107.065076)) .lessThan(1000) )
অ্যান্ড্রয়েড
firestore.pipeline() .collection("restaurants") .search(new SearchOptions() .withQuery(field("location") .geoDistance(new GeoPoint(38.989177, -107.065076)) .lessThan(1000 /* meters */)));
নোড.জেএস
firestore.pipeline().collection('restaurants') .search({ query: field('location') .geoDistance(new GeoPoint(38.989177, -107.065076)) .lessThan(1000 /* m */) });