2011-06-10 9 views
8

लौट सकते हैं मैं Google मानचित्र V3 api का उपयोग कर रहा हूं। मैं पते, नाम का नाम, और lat/lngs सहित उचित geocoded परिणाम वापस करने के लिए एक पता खोज जमा कर रहा हूँ।Google जियोकोडिंग - पार्सिंग एड्रेस_कंपोनेंट्स जो अलग-अलग

मेरी समस्या यह है कि भूगर्भ से प्रतिक्रिया अलग-अलग स्वरूपित की जा सकती है। यह हमेशा एक ही संरचना का पालन करता है, लेकिन कुछ प्रतिक्रिया address_components डेटा संरचना के लिए अलग-अलग कुंजी का उपयोग करती हैं।

उदाहरण के लिए, कुछ खोज परिणाम में:

establishment    -> location name 
street_number    -> address street number 
route      -> the street name 
locality     -> the city 
administrative_area_level_1 -> the state 
postal_code     -> zip/postal code 

जबकि, अगर मैं जैसे कि "हैम्पटन समुद्र तट, राष्ट्रीय राजमार्ग" एक सामान्य क्षेत्र, खोज करने के लिए थे मैं प्राप्त होगा:

sublocality     -> beach name/area 
administrative_area_level_3 -> city/town name 
administrative_area_level_1 -> the state 
postal_code     -> zip/postal code 

के रूप में आप देख सकते हैं कि दो प्रतिक्रियाओं में उनके मतभेद हैं। क्या कोई ज्ञात jquery लाइब्रेरी है जिसे इन अलग-अलग प्रतिक्रियाओं को संभालने के लिए उपयोग किया जा सकता है ताकि पता घटकों के डेटा सेट को वापस कर सकें जिनका उपयोग मानव-पठनीय तरीके से किया जा सकता है?

मुझे नोट होगा कि प्रतिक्रिया भी "स्वरूपित_ड्रेस" प्रकार लौटाती है, जो इसे वापस लौटाती है: "हैम्पटन बीच, एनएच 03842, यूएसए" या "बोस्टन विश्वविद्यालय, 1 विश्वविद्यालय आरडी, बोस्टन, एमए 02215-1407, यूएसए" जैसा कि आप देख सकते हैं, ये भी बहुत अलग हैं। मैं अल्पविराम से विभाजित हो सकता था, लेकिन मैं एक दोषपूर्ण डेटाबेस सम्मिलन के लिए वास्तविक address_components का उपयोग करना चाहता हूं।

उत्तर

12

क्यों आपका डीबी दर्पण केवल निम्न कुंजी नहीं है?

street_number     -> address street number 
route       -> the street name 
locality       -> the city/town  
administrative_area_level_3  -> the city/town 
administrative_area_level_1  -> the state 
postal_code      -> zip/postal code 

जहां एक locality मौजूद है, का उपयोग करें, जो आपके अनुरोध में (यह अधिक विस्तृत जानकारी देने के लिए प्रकट होता है के रूप में - http://code.google.com/apis/maps/documentation/geocoding/#JSON),

जहां कोई street name या locality मौजूद है का अनुरोध administrative_area_level_3 और administrative_area_level_1

यह जैसा कि आपने टिप्पणी में से एक में उल्लेख किया है, जब जानकारी मौजूद है या बस एक सुस्तता (उदाहरण के लिए समुद्र तट) के लिए शहर/राज्य है, तो आपको एक पूर्ण मानव-पठनीय डाक पता प्रदान करेगा।

** मुझे लगता है कि आप केवल यूएस के बारे में परवाह करते हैं।

+0

सामान्य रूप से, शहर 'इलाके' या 'पोस्ट_टाउन' या 'प्रशासनिक_एरा_लेवल_एक्स' या यहां तक ​​कि' देश '(सिंगापुर, हांगकांग, वेटिकन सिटी इत्यादि) भी हो सकता है। बस उन सभी को देखें, उस क्रम में ('व्यवस्थापकीय_area_level_X' एक्स के लिए 5 से 1 तक) और आप जहां भी हो वहां शहर को पकड़ लेंगे। – miguev

1

पता बहुत अधिक 'मानव' चीज हैं। मुझे लगता है कि Google का डेटा इतना गन्दा है क्योंकि उनका स्रोत डेटा गन्दा है, लेकिन संभवतः एक क्षेत्र के लिए समान है।

पते के कौन से हिस्से आपके लिए प्रासंगिक हैं? यदि आप इसे सिर्फ मानव को खिला रहे हैं तो उसे जो कुछ भी है उसे दे दो?

+1

मैं एक पूर्ण डाक पता का लक्ष्य रख रहा हूं। समुद्र तट जैसी जगहों के लिए, मुझे बस शहर/राज्य चाहिए। समस्या यह है कि विभिन्न अनुरोधों के लिए शहर/शहर को अलग-अलग संदर्भित किया जाता है। मुझे पते के प्रत्येक घटक को निकालने की ज़रूरत है जैसे कि वे कैसे प्रदान करते हैं, यह किसी भी प्रकार के अनुरोध के लिए पर्याप्त सामान्य होने के लिए बहुत गन्दा है, या नहीं? – Atticus

+0

यह बहुत मुश्किल लगता है। 'प्रशासनिक_एरा' क्या है, यह समझने का वास्तव में एक तरीका नहीं है, यह एक राज्य, सबस्टेट या शहर हो सकता है और कभी-कभी यह वहां भी नहीं होता है। दस्तावेज निर्दिष्ट करता है कि आप कौन से मूल्यों की अपेक्षा कर सकते हैं: http://code.google.com/apis/maps/documentation/geocoding/#Types लेकिन मुझे लगता है कि वे सभी वैकल्पिक हैं। शायद आपको एक वाणिज्यिक प्रणाली को देखने की ज़रूरत है? – Halcyon

+0

हाँ आदमी मैं वही सोच रहा हूं .. मुझे आशा है कि किसी को शायद जेरिक लाइब्रेरी के बारे में पता चलेगा ताकि घटकों को जेनेरिक [पता, शहर, राज्य, ज़िप] शब्दों में फ़िल्टर किया जा सके। जैसा कि आपने कहा था, व्यवस्थापकीय_आरा भिन्न हो सकता है, इसलिए इसका सामान्य उपयोग बहुत सीमित लगता है। – Atticus

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