2013-03-16 9 views
6

मैं अपने ऐप में नवीनतम Google मानचित्र आईओएस एसडीके का उपयोग कर रहा हूं और ऐसा लगता है कि जीपीएस स्थान हमेशा 1-2 सड़क ब्लॉक द्वारा चीन में ऑफसेट होता है, हालांकि, Google मानचित्र आधिकारिक ऐप में, स्थान 100% सही है। http://home.wangjianshuo.com/archives/20081109_all_maps_in_china_are_transformed.htmजीपीएस स्थान हमेशा चीन में ऑफसेट होता है

ऐसा लगता है, जबकि गूगल मैप्स iOS SDK का नहीं है आधिकारिक एप्लिकेशन एक सही ढंग से बदल नक्शे का उपयोग करता है:

मैं इस पोस्ट जो कारण है कि हो रहा है भर में आया था। क्या किसी को इस के आसपास एक रास्ता मिला है?

+0

मैंने नवीनतम एपीआई 1.2.1 डाउनलोड किया और अभी भी वही समस्या है। एसडीकेडेमोस का उपयोग करके प्रदान किया गया स्थान आधिकारिक Google मानचित्र पर स्थान से अलग है। हमेशा 1-2 ब्लॉक से बाहर। चीन में बस लगता है। कोई फिक्स? – Josh

+0

योरू मुद्दा तय है या नहीं? क्या आप सिम्युलेटर या डिवाइस पर परीक्षण कर रहे हैं? –

+3

मैंने CLLocation पर एक श्रेणी बनाई है जो त्रुटि की क्षतिपूर्ति के लिए चीन में स्थिति को ऑफ़सेट कर सकती है: https://github.com/maxime/ChinaMapDeviation – maximeguilbot

उत्तर

0

क्या यह चीन में उपयोग की जाने वाली विभिन्न समन्वय प्रणाली के कारण नहीं है जिसे हम WGS84 का उपयोग करते हैं?

यहाँ कुछ code कि WGS84

+2

स्पष्ट रूप से यह [स्पष्ट नहीं है कि वह कोड भी जीपीएस विचलन का ख्याल रखता है] (https: // github। com/googollee/eviltransform/मुद्दों/6)। –

6

से अनुवाद संभाल सकता है GPS offset in China के लिए कारण (विभिन्न डाटुमस) और राजनीतिक/आर्थिक हितों प्रौद्योगिकी का एक संयोजन है।

"सुरक्षा चिंताओं" के कारण, चीन दुनिया के बाकी हिस्सों से का उपयोग करता है - WGS-84 मानक जीपीएस उपग्रहों और नक्शे के विशाल बहुमत द्वारा उपयोग किए जाने वाले मानक के बजाय। चीन के सभी मानचित्रों को विभिन्न राजनीतिक रूप से विवादित संपत्तियों (तिब्बत, ताइवान इत्यादि) पर चीन की स्थिति को चिह्नित करने के लिए राज्य परिषद द्वारा अनुमोदित किया जाना चाहिए। स्वीकृति के लिए भी आवश्यक है कि नक्शे जीसीजे -02 का उपयोग करें। यह चीनी सड़क के नक्शे पर प्लॉट किए जाने पर "ऑफ" दिखाई देने के लिए, एक अप्रचलित जीपीएस रिसीवर से जीपीएस ट्रैक जैसे डब्लूजीएस -84 स्थानों का कारण बनता है।

GPS coordinates appear offset on GCJ-02 map

एक अलग समन्वय प्रणाली सामान्य रूप से एक समस्या नहीं है, लेकिन चीन एन्क्रिप्ट GCJ-02 के लिए चुना है, इसलिए कोई सीधा परिवर्तन नहीं थी। पहले attempt at a conversiona database of coordinates obtained from Google China Maps (ditu.google.com) का उपयोग किया जाता था जब यह 2010 में विचलन की गणना करने में सक्षम होता था। यह एक इंटरपोलेशन विधि थी और कुछ हद तक कमजोर था। डेटा सेट offsets calculated for thousands of Chinese cities के साथ बिक्री के लिए चला गया।

इस बीच जीसीजे -02 एल्गोरिदम लीक हो गया है और एक "सार्वजनिक रहस्य" है ("जीसीजे-02 रूपांतरण" के लिए खोज बहुत सारे परिणाम पाता है)। लोकप्रिय नोट में से eviltransform प्रोजेक्ट है, जो सी, सी #, गो, जावा, जावास्क्रिप्ट और PHP के लिए रूपांतरण API प्रदान करता है। geoChina library, GJC-02, डब्ल्यूजीएस-084 और Baidu के BD-09 के बीच रूपांतरण संभालती आर

कोड गैर तुच्छ है, और यह भी अगर एक स्थान चीन में है एक very roughbounding box check निर्धारित करने के लिए करता है का उपयोग करते हुए:

function outOfChina(lat, lng) { 
    if ((lng < 72.004) || (lng > 137.8347)) { 
     return true; 
    } 
    if ((lat < 0.8293) || (lat > 55.8271)) { 
     return true; 
    } 
    return false; 
} 

कि भारत के सबसे शामिल हैं, दक्षिण और उत्तर कोरिया, फिलीपींस, वियतनाम, मंगोलिया, थाईलैंड, और अन्य देशों के एक मेजबान के सभी:

enter image description here

एक बहुभुज सीमा का उपयोग करना होगा, जैसे कि china.kml

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