0

我有这段代码可以获取用户的 IP 地址和纬度和经度。但是,如果它找到纬度和经度,我希望将其显示在地图上。

$theirip = $_SERVER['REMOTE_ADDR'];
$fileinfo = file_get_contents("http://api.easyjquery.com/ips/?ip=".$theirip."&full=true");

这会输出一个这样的字符串。

{"IP":"000.000.00.000","continentCode":"Unknown","continentName":"Unknown","countryCode2":"Unknown","COUNTRY":"Unknown","countryCode3":"Unknown" ,"countryName":"Unknown","re​​gionName":"Unknown","cityName":"Unknown","cityLatitude":0,"cityLongitude":0,"countryLatitude":0,"countryLongitude":0," localTimeZone":"未知","localTime":"0"}

我想从中检索 cityLatitude 和 cityLongitude 。我研究了一些并尝试了一些不同的代码。

$lat = $fileinfo -> {"cityLatitude"};

但我不太确定该怎么做。任何帮助,将不胜感激!

4

4 回答 4

2

你有一个JSON字符串,你可以用json_decode它来解析它

$obj = json_decode($fileinfo);
$lat = $obj -> {"cityLatitude"};
于 2012-08-20T22:14:38.393 回答
1

它是一个 JSONObject ...只需使用 json_decode() 从中获取数据

于 2012-08-20T22:12:34.637 回答
0

无需解码 JSON,它应该可以正常工作。从这里尝试它工作得很好......

尝试使用您的 IP 而不是 $theirip = $_SERVER['REMOTE_ADDR'];

于 2012-08-20T22:15:56.333 回答
0

您使用的是 PHP 对吗?它应该是

$info = json_decode($fileinfo);
$citylatitude = $info->cityLatitude;
于 2012-08-20T22:19:28.170 回答