2010-01-18 12 views
5

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

ऐसा लगता है कि Google प्रदान किया गया उदाहरण भी काम नहीं करता है।

http://gmaps-samples-v3.googlecode.com/svn/trunk/commonloader/clientlocation.html

प्रश्न:

  1. किसी के लिए भी इस उदाहरण काम करता है?

  2. मैं Google मानचित्र API v3 का उपयोग करके किसी व्यक्ति के आईपी पर आधारित भौगोलिक स्थान कैसे प्राप्त करूं?

उत्तर

5

Q1: यह यहाँ से काम करता है, और शायद कई अन्य स्थानों से। हालांकि ध्यान दें कि आईपी पते से भौगोलिक स्थान बहुत विश्वसनीय विज्ञान नहीं है। आपको अपने आईएसपी का स्थान मिल जाएगा, जो बहुत दूर हो सकता है, और इसके अतिरिक्त आईपी-टू-लोकेशन डेटाबेस हमेशा नवीनतम परिवर्तनों के साथ अद्यतित नहीं होते हैं, इसलिए आपके पास किसी विशेष आईपी के लिए कोई डेटा नहीं हो सकता है पता - जो शायद आपके मामले में हो रहा है।

मैक्समाइंड है, जो अपने डेटाबेस पर कुछ आँकड़े प्रकाशित एक लोकप्रिय आईपी-टू-स्थान डेटाबेस प्रदान करता है:

Q2: एक ही तरीका है एक आईपी से जियोलोकेशन पाने के लिए Google मानचित्र API v3 के माध्यम से पता example you provided में उपयोग की जाने वाली विधि का उपयोग करके है। हालांकि यदि आपको लगता है कि MaxMind GeoLite City जैसे कोई अन्य भौगोलिक स्थान डेटाबेस, आपके देश के लिए अधिक सटीक है, तो आप Google मानचित्र पर इसे प्रतिनिधि करने के बजाय स्वयं आईपी पते से भौगोलिक स्थान करना चाहते हैं।

+2

यहां से भी काम करता है। शायद आपका (ओपी) स्थान डेटाबेस में नहीं है। – dusoft

+1

मेरे लिए भी ठीक काम करता है (शहर स्तर)। –

0

वेब Google मानचित्र एपीआई एक आईपी पता भौगोलिक स्थान सेवा प्रदान नहीं करता है (प्रदत्त example डब्ल्यू 3 सी जिओलोकेशन मानक का उपयोग करने का सुझाव देता है, जिसे आम तौर पर उपयोगकर्ता से एक क्रिया की आवश्यकता होती है)।

हालांकि! Google का Maps Geolocation API, आमतौर पर मोबाइल क्लाइंट्स पर उपयोग किया जाता है, वेब से उपयोग किया जा सकता है और अनुरोध क्लाइंट के आईपी पते के आधार पर अक्षांश & देशांतर लौटाता है।

curl -H "Content-Type: application/json" -X POST -d '{"considerIp": true}' https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR-API-KEY 

मत भूलना ऊपर और करने के लिए उदाहरण में एक असली API कुंजी में स्वैप करने के लिए:

$.ajax({ 
    url: 'https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR-API-KEY', 
    data: JSON.stringify({ "considerIp": "true" }), 
    type: 'POST', 
    contentType: 'application/json', 
    success: function(data) { 
     if(data.location) { 
     alert(data.location.lat + ', ' + data.location.lng); 
     } else { 
     alert('not found'); 
     } 
    } 
    }); 

यहाँ curl बराबर है:

यहां एक त्वरित jQuery उदाहरण है कि इसके उपयोग को दर्शाता है है आपके Google एपीआई प्रोजेक्ट के लिए enable the Geolocation API

+0

कोई भी मौका आप एक HTML उदाहरण प्रदान कर सकते हैं? –

+1

@ रोक्कोथीटाको: यहां [एक उदाहरण] (http://jsbin.com/fiberadufu/1/edit?एचटीएमएल, कंसोल, आउटपुट) उपरोक्त के समान कोड का उपयोग कर। आपको 'GOOGLE_API_KEY' चर सेट करने की आवश्यकता होगी, अन्यथा यह काम नहीं करेगा (Google API कंसोल पर जाएं, एक नई प्रोजेक्ट बनाएं, जिओलोकेशन एपीआई सक्षम करें और एपीआई कुंजी प्राप्त करें)। –

+0

Google मानचित्र वेबसाइट में [उदाहरण] (https://developers.google.com/maps/documentation/javascript/geolocation) देखें। – Jaime