指定した既知の場所の位置情報一覧を取得 geo similar places
2012年のTwitter APIの記事です。
参考資料として掲載しておきます。
目次 [閉じる]
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形式で返します。 |
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | <!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="https://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[$ii] 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[$ii]->{'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[$iii] 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 var_dump($oObj); ?> <hr/> </body> </html> |
タグ(=記事関連ワード)
タグ: Places & Geo, Twitter, twitter api
日付
投稿日:2012年2月2日
最終更新日:2023年08月25日
最終更新日:2023年08月25日
このカテゴリの他のページ
この記事へのコメント
トラックバックurl
https://wepicks.net/phpapptwitter-geo_similar_places/trackback/