ウェピックスではウェブ界の情報をピックアップします!
menu
ホーム > PHP と Twitter > Twitter API > Places & Geo(場所とジオコード) > 指定した場所の place_id(geocode) 位置情報を取得 geo reverse geocode

指定した場所の place_id(geocode) 位置情報を取得 geo reverse geocode

Pocket

Twitter API geo/reverse_geocode

API Resource
GET geo/reverse_geocode
概要
 経度、緯度で指定した位置の place_id(geocode) の最新20件を取得します。

これは、ステイタス情報を更新する時(つぶやく時 API statuses/update)に使用できる place_id(geocode) で、place_id を使用することで位置情報付きの「つぶやき」を投稿することが出来ます。

このリクエストは、place_id(geocode)を含む一般的な地理情報を取得するために使用します。

原文
Resource URL(リソースURL)
http://api.twitter.com/1/geo/reverse_geocode.json
Resource Information(リソース情報)
Rate Limited(制限) Yes(あり)
Requires Authentication(認証) No(なし)
Response Formats(フォーマット) json
HTTP Methods(HTTPメソッド) GET
Parameters(パラメーター)
lat
※オプション
サンプル値:37.7821120598956 geocode を取得したい場所の緯度を指定します。有効範囲は北緯が+90.0まで、南緯は-90.0まで、小数点以下8桁まで指定可能です。
有効範囲外の値を指定した場合やlongパラメータが指定されていない場合は無効になります。
long
※オプション
サンプル値:-122.400612831116 geocode を取得したい場所の軽度を指定します。有効範囲は東経が+180.0まで、西経は-180.0まで、小数点以下8桁まで指定可能です。
有効範囲外の値を指定した場合やlatパラメータが指定されていない場合は無効になります。
accuracy
※オプション
サンプル値:3 or 5ft 取得する位置情報の精度を指定します。パラメーター lat long で指定した地点からの検索対象範囲の半径の距離を指定します。数値のみ指定した場合は単位がメートル扱いになります。フィート扱いにする場合は数値+ftとします。このパラメーターを指定しない場合は 0m として扱われます。
granularity
※オプション
サンプル値:city 取得する位置情報の粒度を指定します。粒度はpoi(Point Of Interest), neighborhood(近隣), city(都市), admin(管理者) or country(国)とな場所のタイプとなります。このパラメーターを指定しない場合は neighborhood(近隣) として扱われます。
max_results
※オプション
サンプル値:3 取得結果を最大何地点返すか指定します。これは返される結果の数が max_results と等しくなるのを保証するものではありません。
callback
※オプション
サンプル値:name このパラメーターを指定した場合、指定された名前のcallbackをJSONP形式で返します。
サンプルコード
POINT
以下のサンプルコードを実行するにはOAuth接続が必要です。こちらのページからOAuth接続の設定を行って下さい。

– サンプル Click Here ! –

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta name="robots" content="index">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TRYPHP! Twitter API geo reverse geocode 指定した場所の place_id(geocode) 位置 地理 情報 取得</title>
</head>
<body>



<?php
#########################################
### 初期設定
//twitteroauth.phpをインクルードします。ファイルへのパスは環境に合わせて記述下さい。
require_once("./twitteroauth.php");

//Consumer keyの値をTwitterAPI開発者ページでご確認下さい。
$consumerKey = "***************";
//Consumer secretの値を格納
$consumerSecret = "***********************************";
//Access Tokenの値を格納
$accessToken = "***********************************";
//Access Token Secretの値を格納
$accessTokenSecret = "***********************************";

//OAuthオブジェクトを生成する
$twObj = new TwitterOAuth($consumerKey,$consumerSecret,$accessToken,$accessTokenSecret);
?>



<?php
#########################################
### ページ説明
?>

<h1>Twitter API geo reverse geocode 指定した場所の place_id(geocode) 位置 地理 情報 取得</h1>
<!-- 説明ページurl -->
<h3><a href="http://wepicks.net/2012/02/02/phpapptwitter-geo_reverse_geocode/">→説明はこちら</a></h3>
<hr/>



<?php
#########################################
### 取得したデータを展開
?>

<h2>取得したデータを展開</h2>
<div style="background-color:#f8f8f8;margin:20px; padding:20px; border:solid #cccccc 1px;">

<!-- // =========================== ここから =========================== -->

<?php
//API実行データ取得
//東京 'lat' => '35.6894875', 'long' => '139.6917064'
$vRequest = $twObj->OAuthRequest("http://api.twitter.com/1/geo/reverse_geocode.json","GET",array('lat' => '35.6894875', 'long' => '139.6917064'));

//Jsonデータをオブジェクトに変更
$oObj=json_decode($vRequest);

//オブジェクトを展開
if(isset($oObj->{'error'}) && $oObj->{'error'} != ''){
    echo "取得に失敗しました。<br/>\n";
    echo "パラメーターの指定を確認して下さい。<br/>\n";
    echo "エラーメッセージ:".$oObj->{'error'}."<br/>\n";
}else{


    echo "<h3>クエリタイプ</h3>\n";

    echo "・query type:(".$oObj->{'query'}->{'type'}.")<br/>\n";
    echo "・type:(".$oObj->{'query'}->{'params'}->{'coordinates'}->{'type'}.")<br/>\n";
    echo "・lat:(".$oObj->{'query'}->{'params'}->{'coordinates'}->{'coordinates'}[1].")<br/>\n";
    echo "・long:(".$oObj->{'query'}->{'params'}->{'coordinates'}->{'coordinates'}[0].")<br/>\n";
    echo "<br/>\n";


    echo "<h3>クエリ結果</h3>\n";

    $iObjSize = sizeof($oObj->{'result'}->{'places'});
    for($i=0; $i<$iObjSize; $i++){

        echo "<b>No.{$i} places</b><br/>\n";

        echo "・<b>id</b>:(".$oObj->{'result'}->{'places'}[$i]->{'id'}.")<br/>\n";
        echo "・<b>country</b>:(".$oObj->{'result'}->{'places'}[$i]->{'country'}.")<br/>\n";
        echo "・<b>name</b>:(".$oObj->{'result'}->{'places'}[$i]->{'name'}.")<br/>\n";
        echo "・<b>full_name</b>:(".$oObj->{'result'}->{'places'}[$i]->{'full_name'}.")<br/>\n";
        echo "・<b>place_type</b>:(".$oObj->{'result'}->{'places'}[$i]->{'place_type'}.")<br/>\n";
        echo "・<b>country_code</b>:(".$oObj->{'result'}->{'places'}[$i]->{'country_code'}.")<br/>\n";
        echo "・<b>url</b>:(".$oObj->{'result'}->{'places'}[$i]->{'url'}.")<br/>\n";

        echo "・<b>bounding_box</b><br/>\n";
        echo " type:(".$oObj->{'result'}->{'places'}[$i]->{'bounding_box'}->{'type'}.")<br/>\n";
        $iObjSize2 = sizeof($oObj->{'result'}->{'places'}[$i]->{'bounding_box'}->{'coordinates'});
        $aBboxCrd = $oObj->{'result'}->{'places'}[$i]->{'bounding_box'}->{'coordinates'};
        for($ii=0; $ii<$iObjSize2; $ii++){
            foreach($aBboxCrd&#91;$ii&#93; as $value){
                foreach($value as $value2){
                    echo "  ".$value2;
                }//end foreach
            echo "<br/>\n";
            }//end foreach
        }//end for

        echo "・<b>contained_within</b><br/>\n";
        $iObjSize2 = sizeof($oObj->{'result'}->{'places'}[$i]->{'contained_within'});
        $aCntWith = $oObj->{'result'}->{'places'}[$i]->{'contained_within'};
        for($ii=0; $ii<$iObjSize2; $ii++){
            echo " country:(".$aCntWith&#91;$ii&#93;->{'country'}.")<br/>\n";
            echo " name:(".$aCntWith[$ii]->{'name'}.")<br/>\n";
            echo " full_name:(".$aCntWith[$ii]->{'full_name'}.")<br/>\n";
            echo " country_code:(".$aCntWith[$ii]->{'country_code'}.")<br/>\n";
            echo " url:(".$aCntWith[$ii]->{'url'}.")<br/>\n";

            echo "  bounding_box<br/>\n";
            echo "   type:(".$aCntWith[$ii]->{'bounding_box'}->{'type'}.")<br/>\n";
            $iObjSize3 = sizeof($aCntWith[$ii]->{'bounding_box'}->{'coordinates'});
            $aBboxCrd = $aCntWith[$ii]->{'bounding_box'}->{'coordinates'};
            for($iii=0; $iii<$iObjSize3; $iii++){
                foreach($aBboxCrd&#91;$iii&#93; as $value){
                    foreach($value as $value2){
                        echo "    ".$value2;
                    }//end foreach
                echo "<br/>\n";
                }//end foreach
            }//end for
        }//end for

        echo "------------------<br/>\n";
    }//end for


}//end else
?>

<!-- =========================== ここまで =========================== // -->
</div>
<hr/>



<?php
#########################################
### 取得したオブジェクトの内容
?>

<h2>取得したオブジェクトの内容</h2>
[PHP ruler="true" toolbar="true"]
<?php
var_dump($oObj);
?>
<\/pre>
<hr/>



</body>
</html>

– サンプル Click Here ! –


タグ(=記事関連ワード)

日付

投稿日:2012年2月2日
最終更新日:2012年07月17日

関連記事

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://wepicks.net/phpapptwitter-geo_reverse_geocode/trackback/