2013-02-22 42 views
6

मैंने देखा कि आधुनिक एचटीएमएल 5 आधारित भौगोलिक स्थान हमेशा उपयोगकर्ता से पूछता है "क्या आप इस वेबसाइट के साथ अपना स्थान साझा करना चाहते हैं?"। जो ठीक है, लेकिन मुझे पता है कि इस अनुमति का अनुरोध किए बिना बॉलपार्क भौगोलिक स्थान निर्धारित करने के अन्य मार्ग हैं। अगर मुझे याद है, तो ये सेवाएं आईपी डेटाबेस का उपयोग भूगोलैटन जानकारी को ट्रैक करने और इसे एक वेब ऐप प्रदान करने के लिए करती हैं।अनुमति के अनुरोध के बिना भौगोलिक स्थान

तो, मेरी वेबसाइट में मैं उपयोगकर्ता के ज़िप कोड पर "सर्वश्रेष्ठ अनुमान" प्राप्त करना चाहता हूं, बिना भौगोलिक स्थान अनुमति के अनुरोध किए। ऐसा करने का सबसे सरल और/या सबसे अच्छा तरीका क्या है?

+1

आप की तरह कुछ [मतलब http://www.iplocation.net/](h ttp: //www.iplocation.net/)। स्थान बहुत मोटा हो सकता है, मेरा डेस्कटॉप के लिए 100 किमी और मोबाइल के लिए 1,000 किमी से अधिक है। YMMV। – RobG

+0

नीचे मेरा उत्तर https://stackoverflow.com/a/47142775/3176550 देखें। Ipdata.co में 10 ग्लोबल एंडपॉइंट्स हैं जो प्रत्येक को संभालने में सक्षम हैं> 800 एम एक दिन अनुरोध करता है !! – Jonathan

उत्तर

8

आईपी भौगोलिक स्थान कम सटीक है, लेकिन आपको इसके लिए उपयोगकर्ता अनुमति की आवश्यकता नहीं है। http://ipinfo.io एपीआई (जो मेरी सेवा है) इसे बेहद सरल बनाता है। यहां एक jQuery उदाहरण है:

$.get("http://ipinfo.io", function(response) { 
    console.log(response.city, response.region, response.country); 
}, "jsonp"); 

अधिक जानकारी here उपलब्ध हैं।

+1

आप इसका भी उपयोग कर सकते हैं: ' 'और फिर परिवर्तनीय' ipaddr' आपका आईपीवी 4 पता होगा। –

1

_SERVER चर का उपयोग कर बैक-एंड पर एक आईपी स्थान स्क्रिप्ट का उपयोग करें। इस अनुमति के बिना एक ही रास्ता है, लेकिन बहुत बड़ा नुकसान के साथ: 1) यह सब 2) आईपी पते उपयोगकर्ता द्वारा बदला जा सकता पर सही अगर वे एक प्रॉक्सी

लेकिन फिर भी, यह है का उपयोग कर रहे नहीं है अगर आप अनुमति मांगना नहीं चाहते हैं तो एकमात्र तरीका। Geolocation without Prompt

+0

यह एपीआई भी काम करेगा https://ip-api.io/ –

0
साथ

:

या आप बस, उनके ज़िप कोड के लिए उपयोगकर्ता पूछ सकते हैं क्योंकि वे आप साइट का उपयोग करना चाहते हैं, तो वे हो सकता है :)

इसके अलावा, इस पोस्ट पर एक नजर है https://ipdata.co एपीआई

$.get("https://api.ipdata.co", function (response) { 
 
    $("#response").html(JSON.stringify(response, null, 4)); 
 
}, "jsonp");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<pre id="response"></pre>