我使用这个简单的代码使用maxmind服务(geoip2)调出城市名称。它工作得很好,我也从这个网站上的某个人那里得到了这个代码,感谢他。
问题是,当用户的位置不属于任何城市,然后什么都没有出现时,我的标题看起来会像这样愚蠢...&#34; abc提供来自...&#34; < / p>
当此脚本无法调出城市名称时,请使用&#34;您的城市&#34;替换。
<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>
答案 0 :(得分:0)
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 });
答案 1 :(得分:0)
使用以下简单代码,并根据您的需要进行修改
<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>