「新宿駅」など、入力された場所と範囲からツイートを検索します。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>場所を指定してツイートを検索</title> </head> <body> <?php // 場合の名前を取得 if (isset($_POST["q"]) and !empty($_POST["q"])) { $q = htmlspecialchars($_POST["q"], ENT_QUOTES); $dis = htmlspecialchars($_POST["dis"], ENT_QUOTES); } else { $skip = true; } ?> <p>場所を指定してツイートを検索</p> <!-- 検索キーワード --> <form method="POST" action="<?php echo $_SERVER["SCRIPT_NAME"]; ?>"> 場所: <input type="text" value="<?php echo $q; ?>" name="q"> <select name="dis"> <option>1km</option> <option>3km</option> <option>5km</option> <option>10km</option> </select> <input type="submit" value="検索" name="sub1"> </form> <?php // 検索の実行 if (!$skip) { // 処理用のパラメータ $url = "http://www.geocoding.jp/api/"; $param = "q=" . rawurlencode($q); // 緯度経度を取得 $c = curl_init("{$url}?{$param}"); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($c); curl_close($c); $xml = simplexml_load_string($result); $lat = $xml->coordinate->lat; $lng = $xml->coordinate->lng; // Twitter APIのURLとパラメータ $url = "http://search.twitter.com/search.json"; $param = "geocode={$lat},{$lng},{$dis}"; // 検索を実行 $c = curl_init("{$url}?{$param}"); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($c); curl_close($c); $json = json_decode($result); // 結果を一覧表示 echo "緯度経度({$lat},{$lng})からの検索結果<hr />"; ##del## foreach ($json->results as $res) { echo $res->text . "<hr />"; } } ?> </body> </html>
○実行結果