2012-03-31 9 views
7

मैंने geofencing के बारे में सुना है और मुझे कुछ संदेह हैं। आशा है कि आप उनमें से कुछ का जवाब दे सकते हैं।आईफोन - geofencing पर संदेह

- यह आईओएस 5.1 के लिए नया है लेकिन भूगर्भीकरण और क्षेत्र का उपयोग करने के बीच क्या अंतर है? जो मैंने पढ़ा है उससे लगभग वही है, बैटरी नाली जाती है?

- मुझे भूगर्भीकरण पर सेब दस्तावेज क्यों नहीं मिल सकता है?

- आप क्षेत्रों को कैसे परिभाषित करते हैं? क्या मैं उन्हें webservice के माध्यम से दूरस्थ रूप से जोड़ सकता हूं?

धन्यवाद।

+1

दोस्तों, कोई संकेत? – subharb

उत्तर

11

वास्तव में आईओएस 4 के बाद से Geofencing वास्तव में आसपास रहा है। आप Apple Location Awareness Programming Guide में इस पर दस्तावेज़ पा सकते हैं। इसे "क्षेत्र निगरानी" के रूप में भी जाना जाता है।

क्षेत्र उपयोग करने के लिए बहुत आसान हैं। केंद्र बिंदु (लेट, लांग), त्रिज्या, और एक अद्वितीय पहचानकर्ता के साथ CLRegion बनाएं। फिर -startMonitoringForRegion पर कॉल करें। अनुमोदित है कि आपको कॉलबैक, -didEnterRegion और -didExitRegion सुनने के लिए CLLocationManagerDelegate पंजीकृत करना होगा, लेकिन यह भी करना बहुत आसान है।

आप उन्हें दूरस्थ रूप से नहीं जोड़ सकते हैं। केवल डिवाइस से। मैंने पिछले कुछ वर्षों में उनके बारे में कुछ बातें सीखी हैं। तो उम्मीद है कि यह आपको सड़क पर कुछ परेशानी बचाएगा।

  • सभी डिवाइस क्षेत्रों पर नजर रखने, तो आप उपलब्धता
  • वहाँ एक न्यूनतम और अधिकतम क्षेत्र आकार है के लिए जाँच सुनिश्चित करें। यदि आप उन मानों के ऊपर या नीचे एक क्षेत्र पंजीकृत करते हैं, तो यह न्यूनतम/अधिकतम तक डिफ़ॉल्ट होगा। न्यूनतम 100 मीटर है, अधिकतम दुनिया के आकार 1/3 जैसा है। बहुत बड़ा
  • क्षेत्रों की अधिकतम संख्या 1 डिवाइस की निगरानी कर सकते हैं। क्षेत्रों के इस "पूल" को सभी ऐप्स द्वारा साझा किया जाता है, और पुराने बाड़ को नए बाड़ के लिए जगह बनाने के लिए शुद्ध किया जाएगा। तो इसके लिए तैयार रहें। अधिकतम संख्या 100 के करीब है। लेकिन पासबुक ऐप्स, अनुस्मारक और अन्य ऐप्स के बीच साझा किया गया ... बहुत तेज़ी से जला दिया जा सकता है।
  • सुनिश्चित करें कि आपके पास केवल आपके स्थान प्रबंधक प्रतिनिधि का एक उदाहरण है, कई उदाहरण आपको एकाधिक प्रतिनिधि कॉल प्राप्त करेंगे, वे सभी सुन रहे हैं।

जियोफेन्स किसी भी ओवरहेड सक्रिय जीपीएस और स्थान ट्रैकिंग के बिना स्थानों पर कार्यक्षमता जोड़ने का एक शानदार तरीका है। मेरे अनुभव में, geofences हर समय छोड़ते समय कोई ध्यान देने योग्य बैटरी नाली नहीं है। ऐप्पल ने उन्हें बहुत अच्छी तरह से समझ लिया है। वे सक्रिय जीपीएस के समान सटीकता नहीं लेते हैं, लेकिन वे काफी करीब हैं। सौभाग्य।

अद्यतन यहां कुछ जानकारी अब थोड़ी देर की है। जिन क्षेत्रों की आप निगरानी कर सकते हैं उनकी संख्या अब 20 है और प्रति ऐप कैप्ड की गई है। साथ ही, न्यूनतम आकार 100 मीटर नहीं है, यह छोटा हो सकता है, लेकिन कम संख्या में सटीकता की गारंटी नहीं है।

+0

उत्तर के लिए धन्यवाद, यह मेरे लिए बहुत मददगार है। क्या आप कृपया अपने अनुभव को CLRegions के लिए सटीकता के साथ साझा कर सकते हैं? क्या भू-भौतिकता को अभी भी सर्वोत्तम मूल्य की आवश्यकता है, या शायद अन्य क्षेत्रों त्रिज्या के आधार पर? – beryllium

+0

मैं अभी भी बैटरी जीवन पर थोड़ा प्रभाव के साथ सबसे अच्छी सटीकता का उपयोग करता हूं। मैंने देखा है कि बाहर निकलने की घटनाओं पर समय आईओएस 6 में देरी हो रही है। सब कुछ अभी भी विज्ञापित के रूप में काम कर रहा है, लेकिन बाहर निकलने की घटनाएं उतनी सटीक नहीं हो सकती जितनी वे एक बार थीं। –

+0

मैं पूछना चाहता था कि आप न्यूनतम 100 मीटर से क्या मतलब रखते हैं। मैं वर्तमान में geofencing का उपयोग कर एक नेविगेशन ऐप पर काम कर रहा हूं लेकिन सटीकता की आवश्यकता एक बिंदु से लगभग 10 मीटर है। क्या इसका मतलब है कि मुझे ऐसा करने का दूसरा तरीका उपयोग करना है? –

3

"क्षेत्र निगरानी" के रूप में आईओएस 4 के बाद से "जियोफेनसिंग" हमेशा आसपास रहा है। यह देखने के लिए दूरी जांच का उपयोग करता है कि आपने मंडली में प्रवेश किया है या नहीं। यह वास्तविक geofencing नहीं है, क्योंकि वास्तविक भूगर्भीय जांच कर रहा है कि बहुभुज में एक बिंदु भूमि (पॉलीगॉन में बिंदु कहा जाता है)।

आईओएस 6 के रूप में, वर्तमान में क्षेत्रीय निगरानी के समान कुछ भी नहीं है जो पॉलीगॉन में बिंदु का उपयोग करता है। सही भू-कार्य करने के लिए, आपको क्षेत्रीय निगरानी और जीपीएस के संयोजन का उपयोग करना होगा।Geofencing के लिए कोई ऐप्पल दस्तावेज नहीं है क्योंकि CoreLocation इसका समर्थन नहीं करता है।

यदि आप पॉइंट-इन-पॉली दृष्टिकोण लेने जा रहे हैं, तो मैं रे कास्टिंग की सिफारिश करूंगा। एक उद्देश्य-सी वर्ग है जो इसे वास्तव में अच्छी तरह लागू करता है। इसे objc-BorderPatrol कहा जाता है।

वेब सेवा से बाड़ भेजने के लिए, ट्विटर की स्ट्रीमिंग एपीआई के समान कुछ करना संभव हो सकता है, लेकिन यह बहुत गहन हो सकता है। अपने बाड़ को अपडेट करने के लिए महत्वपूर्ण स्थान का उपयोग करना बेहतर है। यदि आप किसी वेब सेवा से बाड़ भेजने जा रहे हैं, तो मैं MySQL या पोस्टग्रे एसक्यूएल का उपयोग करने की अनुशंसा करता हूं क्योंकि दोनों में वास्तव में अच्छे भू-स्थानिक एक्सटेंशन हैं।

कुछ चेतावनी: ->-[CLRegion containsCoordinate:] किसी कोरलोकेशन ऑब्जेक्ट द्वारा कभी भी नहीं कहा जाता है। सभी दूरी की जांच आंतरिक है। -> महत्वपूर्ण स्थान प्रत्येक 500 मीटर या 5 मिनट अपडेट करता है, जो भी पहले आता है। महत्वपूर्ण स्थान स्थान निर्धारित करने के लिए सेल टॉवर से आईपी पते का उपयोग करता है। -> भूगर्भ और क्षेत्र ओवरलैप कर सकते हैं, इसका ट्रैक रखें।

+0

क्या objc-BorderPatrol पूरी तरह से काम करता है? मैं इसे अपने ऐप – hasan83

+0

में शामिल करना चाहता हूं objc-BorderPatrol अब बनाए रखा नहीं है। आप अपनी खुद की किरण-कास्टिंग पॉइंट-इन-पॉली भविष्यवाणी लिखने में बेहतर सेवा करेंगे। –

संबंधित मुद्दे