firebase - क्या फायरस्टार के साथ जियोफायर का उपयोग करने का कोई तरीका है?




firebase-database firebase-realtime-database (4)

एक समाधान जो दिमाग में आता है, वह है रियलटाइम डेटाबेस पर सिर्फ जियो-क्वेश्चन के लिए जोड़ना और क्लाउड फंक्शंस के साथ दो डेटाबेस को सिंक्रोनाइज़ करना, बहुत कुछ ऐसा है जैसे Google presence साथ सुझाता है।

मेरे मामले में यह बहुत सिंक्रनाइज़ करने के लिए आवश्यक नहीं है; मैं सिर्फ रीयलटाइम डेटाबेस पर अपने स्थानों के साथ uids की एक सूची रखता हूं और वहां सभी भू-प्रश्न करता हूं।

जियोफायर को रियलटाइम डेटाबेस से कसकर जोड़ा गया है, जबकि जियो-क्वेरीज़ कई ऐप की एक सामान्य कार्यात्मक निर्भरता है जो फायरस्टार को माइग्रेट करना चाहते हैं। क्या फायरस्टार वातावरण में स्थानों के हैशिंग / पुनर्प्राप्ति को दोहराने का कोई तरीका है?


क्लाउड फायरस्टार मूल रूप से भू अंकों का समर्थन करता है। समर्थित डेटा प्रकार देखें। और आपको GeoPoint क्लास मिलेगा जो आप डेटा सेट करने के लिए उपयोग कर सकते हैं और इसे क्वेरी भी कर सकते हैं:

query.whereEqualTo("location", GeoPoint(lat, long))

बढ़िया खबर। अब iOS और Android दोनों के लिए एक पुस्तकालय है जो फायरस्टार के लिए GeoFire की प्रतिकृति बनाता है। लाइब्रेरी को github.com/imperiumlabs/GeoFirestore कहा जाता है। इसका पूर्ण प्रलेखन है और इसका अच्छी तरह से परीक्षण किया गया है। मैं वर्तमान में इसे अपने ऐप में उपयोग करता हूं और यह शानदार ढंग से काम करता है। कोड जियोफ़ायर के समान है, इसलिए इसे सीखने में केवल कुछ मिनट लगने चाहिए।


मूल पोस्टर के पहले प्रश्न पूछने के बाद से एक नई परियोजना शुरू की गई है। परियोजना को GEOFIRestore कहा जाता है।

इस लाइब्रेरी के साथ आप एक वृत्त के भीतर क्वेरी दस्तावेज़ जैसे प्रश्न कर सकते हैं:

  const geoQuery = geoFirestore.query({
    center: new firebase.firestore.GeoPoint(10.38, 2.41),
    radius: 10.5
  });

आप npm के माध्यम से GeoFirestore स्थापित कर सकते हैं। आपको अलग से Firebase इंस्टॉल करना होगा (क्योंकि यह जियोफाइस्टोर के लिए सहकर्मी निर्भरता है):

$ npm install geofirestore firebase --save