menu
ホーム > PHP と Twitter > Twitter API > Places & Geo(場所とジオコード) > 指定した既知の場所の位置情報一覧を取得 geo similar places

指定した既知の場所の位置情報一覧を取得 geo similar places

Twitter API geo/similar_places

API Resource
GET geo/similar_places
概要
 パラメーターに経度、緯度、名前を指定して、経度/緯度の中心から近くにある指定した名前に類似している場所情報を取得します。

概念的には、既知の場所の詳細情報リストを取得するのにこのメソッドを使用します。
希望の場所が発見できない場合は、 geo/place を使用して新しい場所を作成します。

レスポンスに含まれるトークンは、新しい場所を作成するのに必要なトークンです。

原文
Resource URL(リソースURL)
http://api.twitter.com/1/geo/similar_places.json
Resource Information(リソース情報)
Rate Limited(制限) Yes(あり)
Requires Authentication(認証) No(なし)
Response Formats(フォーマット) json
HTTP Methods(HTTPメソッド) GET
Parameters(パラメーター)
lat
※必須
サンプル値:37.7821120598956 指定する地点の緯度を指定します。有効範囲は北緯が+90.0まで、南緯は-90.0まで、小数点以下8桁まで指定可能です。
有効範囲外の値を指定した場合やlongパラメータが指定されていない場合は無効になります。
long
※必須
サンプル値:-122.400612831116 指定する地点の軽度を指定します。有効範囲は東経が+180.0まで、西経は-180.0まで、小数点以下8桁まで指定可能です。
有効範囲外の値を指定した場合やlatパラメータが指定されていない場合は無効になります。
name
※必須
サンプル値:Twitter%20HQ 既知の場所の名前を指定します。
contained_within
※オプション
サンプル値:247f43d441defc03 検索範囲を place_id で指定します。結果は place_id で指定したエリア内に限定されます。

例えば、「San Francisco, CA USA」を検索範囲にする場合は、place_id を 5a110d312052166f とします。

attribute:street_address
※オプション
サンプル値:795%20Folsom%20St 住所検索を行う場合にこのパラメーターを指定します。
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>Twitter API geo similar places 指定した既知の場所の位置情報一覧を取得 表示</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 similar places 指定した既知の場所の位置情報一覧を取得 表示</h1>
<!-- 説明ページurl -->
<h3><a href="http://wepicks.net/2012/02/02/phpapptwitter-geo_similar_places/">→説明はこちら</a></h3>
<hr/>



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

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

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

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

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

//オブジェクトを展開
if(isset($oObj->{'errors'}) && $oObj->{'errors'} != ''){
    echo "取得に失敗しました。<br/>\n";
    echo "パラメーターの指定を確認して下さい。<br/>\n";
    echo "エラーメッセージ:".$oObj->{'errors'}[0]->{'message'}."<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 "・name:(".$oObj->{'query'}->{'params'}->{'name'}.")<br/>\n";
    echo "・name decode:(".urldecode($oObj->{'query'}->{'params'}->{'name'}).")<br/>\n";
    echo "・lat:(".$oObj->{'query'}->{'params'}->{'coordinates'}->{'coordinates'}[1].")<br/>\n";
    echo "・long:(".$oObj->{'query'}->{'params'}->{'coordinates'}->{'coordinates'}[0].")<br/>\n";
    echo "・url:(".$oObj->{'query'}->{'url'}.")<br/>\n";
    echo "<br/>\n";


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

    echo "・token:(".$oObj->{'result'}->{'token'}.")<br/>\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_similar_places/trackback/

page top