5

मैं एक स्थान-आधारित एप्लिकेशन विकसित कर रहा हूं जिसमें मुझे उपयोगकर्ता द्वारा चुने गए किसी भी भूगर्भ के आस-पास का स्थान नाम प्राप्त करने की आवश्यकता है। मैं Google Places API का उपयोग कर रहा हूं जो मेरे लिए ठीक काम कर रहा है।आईओएस में पानी में भूगर्भ के आस-पास के शहर या राज्य का नाम कैसे प्राप्त करें?

केवल समस्या यह है कि सेवा पानी में भूगर्भ के लिए null लौटाती है। क्या कोई तरीका है कि मैं पानी या महासागर में भूगर्भ के लिए आस-पास के स्थानों को पुनः प्राप्त कर सकता हूं?

उत्तर

2

AFAIK एपीआईके के पास ऐसा करने का कोई तरीका नहीं है। तो, आपके पास दो विकल्प मिल गया है, प्रयास के क्रम में यह लेता है:

  1. उपयोगकर्ता पानी टैप करता जब सिर्फ एक संवाद कह "कृपया जमीन पर एक
    बिंदु का चयन" फेंक देते हैं। किसी भी प्रयास के आगे और उपयोगकर्ता को थोड़ा परेशान करेगा।
  2. अपने निकटतम भूमि भूगर्भीय को खोजने का प्रयास करें और (मूल बिंदु के बजाय) पर API अनुरोध चलाने के लिए इसका उपयोग करें। नीचे कुछ विचार हैं।

एक अच्छा दृष्टिकोण this answer पर आधारित हो सकता है: मूल रूप से आप भूमि बहुभुज के साथ एक केएमएल फ़ाइल प्राप्त कर सकते हैं। प्रदर्शन कारणों से, आप बहुभुज को उस सीमा तक सरल बना सकते हैं जो आपके ज़ूम स्तरों के लिए समझ में आता है। अब यदि आपका बिंदु उन बहुभुजों में से एक में है - यह समुद्र है। और आप बस सभी बहुभुज किनारों पर फिर से शुरू कर सकते हैं और उस बिंदु को चुन सकते हैं जो आपके बिंदु के सबसे नज़दीक है, फिर उस पर एक बिंदु चुनें - फिर से अपने बिंदु के सबसे नज़दीक - और एक भूमि प्राप्त करने के लिए बहुभुज के बाहर की ओर एक छोटा ईपीएसलॉन आकार का कदम करें इंगित करें कि आप एक geocode अनुरोध कर सकते हैं। इसके अलावा, मूल लेखक सुझाव देते हैं कि आप नेवरस प्वाइंट प्वाइंट को निर्धारित करने के लिए हावरसिन फॉर्मूला का उपयोग कर सकते हैं - मैं उस उपकरण के साथ वास्तव में परिचित नहीं हूं।

नकारात्मक पक्ष यह है, तो आप, एम एल से निपटने के बहुभुज का एक बहुत से अधिक पुनरावृति और उन्हें अनुकूलित (और सटीक खोना है कि कर रही है, marineregions.org डेटा और Google स्थल डेटा के बीच संभावित मतभेद के अलावा)

एक और शांत करने के लिए है चाल जो आप कोशिश कर सकते हैं, दृश्य बिंदु खंड पर Sobel Filter [एज डिटेक्शन] का उपयोग करके यह निर्धारित करने के लिए कि समुद्र तट कहां है (हालांकि आपको वहां कुछ झूठी सकारात्मक चीज़ें मिलेंगी), फिर कुछ अंक प्राप्त करने के लिए इसे ट्रेस करें (रास्टर-> वेक्टर) पूर्व दृष्टिकोण के समान, निकटतम भूमि स्थिति की गणना करने के लिए किनारों। यहां enter image description here

सोबेल किनारे का पता लगाने के लिए, GPUImage lib पर विचार करें - उनके पास फ़िल्टर लागू किया गया है और यह शायद जीपीयू पर सभी गणनाओं के बाद पागल तेज़ काम करने जा रहा है।

युपीडी बाहर बदल जाता है वहाँ भी है एक सेवा Koordinates समुद्र तट उपलब्ध आंकड़ों है कि कहा जाता है, की जाँच the answer here

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