【问题标题】:Call out the city name using maxmind geoip2使用 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>

【问题讨论】:

  • 你的意思是如果没有城市那么你想显示“没有城市”什么的?

标签: javascript jquery geolocation


【解决方案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,实际上我尝试了上面那个人的脚本,它成功了!我可怕的编码技能不允许我修改任何东西,但非常感谢您的回答。没想到这么快就得到答案!
猜你喜欢
  • 2013-10-12
  • 1970-01-01
  • 1970-01-01
  • 2019-02-09
  • 2018-10-14
  • 2015-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多