2009-07-14 8 views
5

के बाहर के क्षेत्रों के लिए अक्षांश और देशांतर प्राप्त करना क्या Google मानचित्र के लिए एपीआई को यूनाइटेड किंगडन, फ्रांस, इटली जैसे विदेशी देशों के लिए किसी दिए गए डाक कोड या शहर + क्षेत्र संयोजन के लिए अक्षांश और देशांतर प्राप्त करने के लिए उपयोग किया जा सकता है, जापान, ऑस्ट्रेलिया आदि?यूएस

मैं ऐसे प्रोजेक्ट पर काम कर रहा हूं जिसके लिए स्थानीय खोज परिणामों की आवश्यकता है। घरेलू उपयोगकर्ताओं के लिए मैं अपने डेटाबेस में एक यू.एस. ज़िप कोड तालिका के माध्यम से अपने lat/lon पुनर्प्राप्त करता हूं। इसमें किसी भी मानचित्र को दिखाने में शामिल नहीं है, केवल उन उपयोगकर्ताओं के परिणाम जो उनके क्षेत्र में हैं, अक्षांश सूत्र के माध्यम से लैट/लॉन मानों के आधार पर। विदेशी उपयोगकर्ताओं के स्थानीय खोज परिणामों के लिए: मैं सिर्फ शहर नाम मिलान के आधार पर परिणाम दिखा रहा हूं।

फिलहाल गैर-यू.एस. उपयोगकर्ता लैट/लॉन PHP जीओआईपी डेटा के माध्यम से पुनर्प्राप्त किया जा रहा है। मैं शहर + क्षेत्र या डाक कोड के आधार पर अधिक सटीक मूल्यों को पुनर्प्राप्त करने में सक्षम होना चाहता हूं।

मैं अन्य देशों के लिए डाक कोड तालिकाओं (जिनमें लेट/लोन फ़ील्ड हैं) प्राप्त करने पर विचार कर रहा हूं। या Google मानचित्र एपीआई विचार बेहतर समाधान है?

+0

हम्म .. मैं सिर्फ देखा इस http://www.maxmind.com/app/worldcities जो डाक कोड शामिल नहीं है लेकिन कम से कम इसके लिए अक्षांश/देशांतर देता है शहर के नाम दिए गए। – Seth

+1

चाहे वे देश "विदेशी" हों या नहीं, निश्चित रूप से आपके दृष्टिकोण पर निर्भर करता है। –

+0

मैंने अपने प्रश्न का शीर्षक संपादित किया। पोस्टल कोड डेटा नहीं होने का नकारात्मक पक्ष यह है कि किसी दिए गए शहर के प्रत्येक उपयोगकर्ता के पास समान लैट/लोन निर्देशांक होंगे, इसलिए निकटतम से दूर तक के परिणाम दिखाना संभव नहीं होगा, हालांकि, पड़ोसी शहरों के उपयोगकर्ताओं को शामिल किया जा सकता है। यह अभी भी एक कदम है जो मैं वर्तमान में कर रहा हूं। – Seth

उत्तर

5

मुझे Google Maps Geocoder से परिणाम अच्छे मिला है।

अपने विदेशी पोस्टकोड या पते (बिना किसी कोड के लिखने) का परीक्षण करने के लिए, बस देश का नाम स्ट्रिंग में संलग्न करें और इसे google maps खोज बॉक्स में आज़माएं।

या, आप जावास्क्रिप्ट में बहुत शीघ्र देखने को लागू कर सकते हैं:

geo = new GClientGeocoder(); 
geo.getLatLng("2337, Australia", function (point) { 
     GLog.write(point.lat() + "," point.lng()); 
    }); 
+0

यह सबसे अच्छा कदम आगे की तरह लगता है। देर रात के खाने के लिए बाहर निकलना और फिर मैं इसे जाने दूंगा। धन्यवाद। – Seth

2

मैं पहले अपने जियोकोडिंग के लिए गूगल मैप्स का उपयोग किया है, अच्छी तरह से काम करता है और दुनिया में कहीं भी के लिए काम कर सकते हैं। डाक कोड से (http://en.wikipedia.org/wiki/CcTLD)

0

मानचित्रण अक्षांश देशों के लिए यह निर्धारित करने के लिए शीर्ष स्तर के डोमेन विधि/देशांतर जोड़े:

गूगल से GClientGeocoder का प्रयोग करें और 'setBaseCountryCode (स्ट्रिंग देश कोड)': का उपयोग GeoNames Postal Code Database

भी उपलब्ध के रूप में एक GeoNames webservice ...

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