我有一個簡單的PHP函數得到的最接近附近的城市從給定的緯度和經度:查找附近的大型城市GEONAMES
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地理編碼API,但我們無法使用它,因爲我們沒有使用Google地圖來顯示結果。 (注:地址解析API只能與谷歌地圖結合使用;地址解析結果,而不在地圖上顯示他們是被禁止Source)
我知道這是不是一個實際的程序員的問題,但由於GEONAMES論壇沒有真正活躍,我想我會在這裏發佈。
如果您使用的是Apache,您可以試試geoip。 http://www.maxmind.com/app/mod_geoip – 2013-04-23 15:52:52
@BryanPotts,我打算使用這種方法通過搜索緯度和長元數據來查找圖像的位置(來自地球,空間不足)給出圖片。 – Jef 2013-04-23 16:22:39