【发布时间】:2013-04-23 15:48:38
【问题描述】:
我有一个简单的 php 函数,它可以从给定的纬度和经度获取最近的附近城市:
function findCity($lat, $lng, $username) {
$json_url = "http://api.geonames.org/findNearbyPlaceNameJSON?lat=" . $lat . "&lng=" . $lng . "&username=" . $username;
$json = file_get_contents($json_url);
$json = str_replace('},
]', "}
]", $json);
$data = json_decode($json);
echo "<pre>";
print_r($data);
echo "</pre>";
}
此方法返回以下内容,经纬度:51.992 和经度:4.89
stdClass Object
(
[geonames] => Array
(
[0] => stdClass Object
(
[countryName] => Netherlands
[adminCode1] => 11
[fclName] => city, village,...
[countryCode] => NL
[lng] => 4.876389
[fcodeName] => populated place
[distance] => 1.42349
[toponymName] => Langerak
[fcl] => P
[name] => Langerak
[fcode] => PPL
[geonameId] => 2751924
[lat] => 51.931667
[adminName1] => South Holland
[population] => 0
)
)
)
这将返回最近的城市,但我正在寻找类似this 的内容。只返回最近的大城市。这可能吗?或者是否有其他方法可以解决这个问题。我已经阅读了 Google Geocoding API,但我们不能使用它,因为我们没有使用 Google 地图来显示结果。 (注意:Geocoding API 只能与谷歌地图结合使用;禁止在地图上不显示地理编码结果。Source)
我知道这不是一个真正的程序员问题,但由于 geonames 论坛并不活跃,我想我会在这里发布。
【问题讨论】:
-
如果你使用的是apache,你可以试试geoip。 maxmind.com/app/mod_geoip
-
@BryanPotts,我打算使用这种方法通过从给定图片中搜索经纬度元数据来查找图像的位置(来自地球,超出太空)。
标签: php json coordinates geonames