无法从地理位置获取城市名称

Posted

技术标签:

【中文标题】无法从地理位置获取城市名称【英文标题】:unable to get city name from geo location 【发布时间】:2016-01-04 12:09:00 【问题描述】:

我正在使用以下代码获取国家和城市名称

<?php 
    $user_ip=  getenv('REMOTE_ADDR');
    $geo= unserialize(file_get_contents("http://www.geoplugin.net/php.gp?ip=$user_ip"));

    $city= $geo["geoplugin_city"]; 
    $country= $geo["geoplugin_countryName"]; 
?>

当我回显时,它会打印国家/地区名称,但对于城市,它会显示

Undefined index: geoplugin_city

var_dump 用于$geo 我在数组中得到[geoplugin_city] 但当我var_dump($city) i get null

请帮帮我

这是我的 var_dump($geo) 结果

Array ( [geoplugin_request] => 83.110.15.6 
        [geoplugin_status] => 206 
        [geoplugin_credit] => Some of the returned data includes GeoLite 
                              data created by MaxMind, available 
                              from http://www.maxmind.com. 
        [geoplugin_city] => 
        [geoplugin_region] => 
        [geoplugin_areaCode] => 0 
        [geoplugin_dmaCode] => 0 
        [geoplugin_countryCode] => AE 
        [geoplugin_countryName] => United Arab Emirates 
        [geoplugin_continentCode] => AS 
        [geoplugin_latitude] => 24 
        [geoplugin_longitude] => 54 
        [geoplugin_regionCode] => 
        [geoplugin_regionName] => 
        [geoplugin_currencyCode] => AED 
        [geoplugin_currencySymbol] => Dh 
        [geoplugin_currencySymbol_UTF8] => Dh 
        [geoplugin_currencyConverter] => 3.6719 )

【问题讨论】:

向我们展示var_dump($geo); 只是展示。 为什么geoplugin_city 键不能为空? 看看我的价值请检查我如何从中获得我的城市? 有时 geoplugin 不提供城市名称。使用 $city= !empty($geo["geoplugin_city"])?$geo["geoplugin_city"]:'N/A'; 这是print_r,如果你使用var_dump - 你会看到geoplugin_city' =&gt; string '' (length=0),所以它是一个空字符串。 【参考方案1】:

这是因为GeoPlugin 向您返回status 200,这意味着您所在国家/地区的城市信息不可用。

如果你试试这个 IP:119.30.127.20(巴基斯坦)

它会返回status 200,其中城市和州字段为空。

但是当你尝试这个 IP 时:168.143.160.187 (USA)

它将向您返回status 206 以及城市和州信息。

这里是状​​态索引:

[geoplugin_status] => 200

如需更多详情,请访问GeoPlugin Web Services 并查看您所在国家/地区的信息(无论是否提供城市级别的信息)。

更新:

GeoPlugin 仅提供 UAE

3% 城市级别信息

【讨论】:

@Sikander:访问我提供的链接。你会明白的。

以上是关于无法从地理位置获取城市名称的主要内容,如果未能解决你的问题,请参考以下文章

无法使用地理位置从文本中提取城市名称(Python)

如何在iphone中获取地理位置城市名称?

如何从 iphone sdk 中的城市名称获取位置(坐标)?

Javascript,使用地理位置获取城市名称

如何使用纬度和经度获取位置名称或城市?

使用地理位置获取城市名称[重复]