使用 maxmind geoip2 呼出城市名称
Posted
技术标签:
【中文标题】使用 maxmind geoip2 呼出城市名称【英文标题】:Call out the city name using maxmind geoip2 【发布时间】:2014-03-11 13:26:02 【问题描述】:我使用这个简单的代码通过 maxmind 服务 (geoip2) 调用城市名称。它工作得很好,我也从这个网站上的某个人那里得到了这个代码,多亏了他。
问题是当用户的位置不属于任何城市时,什么都不会出现,我的标题会看起来很愚蠢,就像“abc offer from...”
当此脚本无法呼出城市名称时,请替换为“您的城市”。
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script src="//j.maxmind.com/js/apis/geoip2/v2.0/geoip2.js"></script>
<script>
geoip2.cityISPOrg(function (response)
$("#city").html(response.city.names.en);
, null, w3cGeolocationDisabled: true );
</script>
<p>
<span id="city"></span>,
</p>
【问题讨论】:
你的意思是如果没有城市那么你想显示“没有城市”什么的? 【参考方案1】:geoip2.cityISPOrg(function (response)
if (response && response.city && response.city.names && response.city.names.en)
$("#city").html(response.city.names.en);
else
$("#city").html("your city");
, null, w3cGeolocationDisabled: true );
【讨论】:
谢谢约翰。我尝试了我们的脚本,它运行良好。这太棒了,非常感谢!【参考方案2】:使用以下简单代码,并根据需要进行修改
<script type="text/javascript" src="//js.maxmind.com/js/apis/geoip2/v2.0/geoip2.js"></script>
<script type="text/javascript">
var onSuccess = function(location)
alert(
"Lookup successful:\n\n"
+ JSON.stringify(location, undefined, 4)
);
;
var onError = function(error)
alert(
"Error:\n\n"
+ JSON.stringify(error, undefined, 4)
);
;
geoip2.city(onSuccess, onError);
</script>
【讨论】:
所有错误都在 JavaScript 对象中作为第一个参数传递给 onError 函数。该对象包含两个键,代码和错误。 code 是机器可读的错误代码,不会改变。 error 是人类可读的错误描述。 谢谢Pratik Joshi,实际上我尝试了上面那个人的脚本,它成功了!我可怕的编码技能不允许我修改任何东西,但非常感谢您的回答。没想到这么快就得到答案!以上是关于使用 maxmind geoip2 呼出城市名称的主要内容,如果未能解决你的问题,请参考以下文章