使用maxmind geoip2调出城市名称

时间:2014-03-11 13:26:02

标签: javascript jquery geolocation

我使用这个简单的代码使用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>

2 个答案:

答案 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>