我正在尝试查找用户的位置,这意味着他正在浏览的国家/地区。我需要使用HTML和Javascript。我已经在stackoverflow上看到过各种帖子,人们建议使用不同的API。我最感兴趣的是任何免费的API,它可以给我三个字母的国家代码而不是两个。任何其他API都适合我,我不需要使用IPInfo,我也可以使用geonames。
在找到用户的国家代码后,我需要创建一个这样的URL,假设countryCode是USA,那么它应该是这样的 -
some_url&countryCode=USA
如果countryCode是IND,那么它应该是这样的 -
some_url&countryCode=IND
我有以下代码,我将找到currentLocation但countryCode只有两个字母。我需要三个字母的国家代码,然后相应地制作网址。
<html>
<head>
<title>Get web visitor's location</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$.get("http://ipinfo.io", function (response) {
$("#ip").html("IP: " + response.ip);
$("#address").html("Location: " + response.city + ", " + response.region);
$("#details").html(JSON.stringify(response, null, 4));
}, "jsonp");
</script>
</head>
<body>
<hr/>
<div id="ip"></div>
<div id="address"></div>
<hr/>Full response: <pre id="details"></pre>
<a href="url&country=countryCode">url</a>
</body>
</html>
任何人都可以帮我吗?
答案 0 :(得分:1)
ipinfo.io
不提供三个字母的国家/地区代码。你必须手动生成一个数组:
var threeLtrCC.US = 'USA';
var threeLtrCC.IN = 'IND';
...
$.get("http://ipinfo.io", function (response) {
var cc = threeLtrCC[response.country];
$('#newURL').text('some_url?countryCode=' + cc);
$('#newURL').attr('href','some_url?countryCode=' + cc);
$("#details").html(JSON.stringify(response, null, 4));
}, "jsonp");
然后使用response.country
作为查找自制数组值的键。
<强> HTML 强>
<a id="newURL"></a>
答案 1 :(得分:0)
我认为ipinfo不提供三个字母的国家/地区代码。我们必须使用包含所有可用国家/地区代码的数组,并与三个字母的国家/地区代码匹配。
http://www.worldatlas.com/aatlas/ctycodes.htm
希望有帮助