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":"不明","continentName":"不明","countryCode2":"不明","COUNTRY":"不明","countryCode3":"不明" ,"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 をデコードする必要はありません。正常に動作するはずです。ここから試してみるとうまくいきます...

$theirip = $_SERVER['REMOTE_ADDR']; の代わりに自分の IP を使用してみてください。

于 2012-08-20T22:15:56.333 に答える
0

PHPを使用していますよね?そのはず

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