<

![endif]-->

fc2ブログ

KizAPIとGoogleBooksAPIをmashupしてみた

以前の記事「KizAPIとTwitterAPIをmashupしてみた」の応用として、
KizAPI(きざっぴ)とGoogleBooksAPIをmashupしてみた。

GoogleBooksAPIには1日のアクセス制限があるため、
抵触しないよう、内部で定期的にランキングと書籍情報を収集した後、画面に表示している。

以下はソースコードの例になる。

 // ---------------
 // Google用外部ライブラリ読み込み
 // ---------------
 set_include_path(dirname(__FILE__).'/../Lib/google-api-php-client/src/' . PATH_SEPARATOR . get_include_path());
 require_once ('Google/Client.php');
 require_once ('Google/Service/Books.php');
 require_once ('Google/Http/Batch.php');
 // ---------------
 // Google Books API 問合せ準備
 // ---------------
 // 準備
 $client = new Google_Client();
 $client->setApplicationName("Client_Library_Examples");
 $apiKey = $google_conf['api_key'];
 $client->setDeveloperKey($apiKey);
 $service = new Google_Service_Books($client);
 $client->setUseBatch(true);
 $batch = new Google_Http_Batch($client);
 // 検索条件設定
 $optParams = array(
  'filter' => 'ebooks',
  'maxResults'=>$disp_count_book,
  'orderBy'=>"relevance",
 );
 // リクエストデータ作成
 $req{$kizapi_key} = $service->volumes->listVolumes($keywords[$kizapi_key], $optParams);
 $batch->add($req{$kizapi_key}, "rank".$kizapi_key);
 // リクエスト送信と結果取得
 $results = $batch->execute();


以下にサンプルを用意した。
KizAPIから取得したランキング結果ごとに、GoogleAPIから書籍情報を取得する


  

各都道府県でつぶやかれたTweetを地図上に表示する

※現在サポート対象外の機能です。

以前の記事「東京周辺でつぶやかれたTweetを地図上に表示する」の応用として、
各都道府県でつぶやかれたTweetを地図上に表示してみる。

Tweetの表示位置は県庁所在地としている。
検索条件(緯度、経度、半径)は下記の通りだ。
※隣接する県のツイートを表示してしまうことがある。
  これは各都道府県の形がバラバラなため、他県に被らないように半径を指定することが難しいためだ。

<検索条件>
都道府県 , 緯度      ,経度      ,半径(km)
和歌山県 , 33.5434 ,135.305 ,24
北海道   , 43.2802 ,142.494 ,102
兵庫県   , 35.0213 ,134.494 ,32
福島県   , 37.2244 ,140.133 ,41
福岡県   , 33.3121 ,130.4    ,24
福井県   , 35.5048 ,136.134 ,22
富山県   , 36.381  ,137.161 ,23
奈良県   , 34.1856 ,135.522 ,21
栃木県   , 36.4121 ,139.491 ,28
徳島県   , 33.5505 ,134.143 ,22
東京都   , 35.0106 ,139.355 ,16
島根県   , 35.0423 ,132.333 ,28
鳥取県   , 35.2138 ,133.511 ,20
長野県   , 36.0748 ,138.024 ,41
長崎県   , 33.1339 ,129.365 ,22
大分県   , 33.1157 ,131.26  ,28
大阪府   , 34.3722 ,135.304 ,15
千葉県   , 35.3046 ,140.121 ,25
石川県   , 36.4557 ,136.462 ,22
静岡県   , 35.0101 ,138.195 ,31
青森県   , 40.4649 ,140.495 ,34
神奈川県 , 35.2451 ,139.202 ,17
新潟県   , 37.3108 ,138.55  ,39
秋田県   , 39.4451 ,140.243 ,38
鹿児島県 , 31.0046 ,130.253 ,33
滋賀県   , 35.1255 ,136.082 ,22
山梨県   , 35.3644 ,138.364 ,23
山口県   , 34.1155 ,131.343 ,27
山形県   , 38.2647 ,140.061 ,34
三重県   , 34.3049 ,136.225 ,26
埼玉県   , 35.5948 ,139.205 ,21
佐賀県   , 33.1707 ,130.07  ,17
高知県   , 33.2516 ,133.22  ,29
香川県   , 34.1435 ,133.595 ,15
広島県   , 34.3613 ,132.471 ,32
群馬県   , 36.3014 ,138.591 ,28
熊本県   , 32.3654 ,130.452 ,30
京都府   , 35.1507 ,135.264 ,24
宮城県   , 38.2644 ,140.554 ,30
宮崎県   , 32.1127 ,131.18  ,31
岐阜県   , 35.4639 ,137.032 ,36
岩手県   , 39.3529 ,141.214 ,43
沖縄県   , 26.2124 ,127.680 ,100
岡山県   , 34.5403 ,133.486 ,29
茨城県   , 36.1823 ,140.191 ,27
愛媛県   , 33.3719 ,132.512 ,26
愛知県   , 35.0204 ,137.125 ,25


以下にサンプルを用意した。
各都道府県でつぶやかれたTweetを地図上に表示する


  

東京周辺でつぶやかれたTweetを地図上に表示する

※現在サポート対象外の機能です。

一部ではあるが、つぶやいた位置情報を特定出来るTweetがある。
TwitterのSearch APIで取得した後、GoogleMap上に表示してみた。

以前の記事「Twitterから特定の文字列を含むTweetを取得する方法」にて、
使用したSearch APIで、つぶやいた位置情報を特定して、
GoogleMap上にマーカーを立てて表示するサンプルを作ってみる。

以下は実装例のソースコード


<HTML>
<script type="text/javascript">
<!--
        function sleep(time){
            var d1 = new Date().getTime();
            var d2 = new Date().getTime();
            while( d2 < d1 + time ){
                d2 = new Date().getTime();
            }
        }
        function init() {
            //------
            // GoogleMap設定
            // -----
      //中心の設定
            var latlng = new google.maps.LatLng(35.693621999934926,139.74300384521484);
      //地図の初期設定
            var opts = {
                zoom: 10,
                center: latlng,
                mapTypeId: google.maps.MapTypeId.ROADMAP,
             };
      //地図の生成
            var gmap = new google.maps.Map(document.getElementById('googlemap'),opts);

      //表示するつぶやきの数繰り返し処理する
      foreach ($tweet_list as $key => $value) { 
        if (isset($value['coordinates'])) { 

                  //------
                  // マーカーを立てる
                  //------
                  // マーカーオブジェクト作成
                  var marker<?php echo $num; ?> = new google.maps.Marker();
                  // マーカーオブジェクト作成(クリック時反応するように設定)
                  marker<?php echo $num; ?>.setClickable(true);
                  // 緯度経度設定
                  marker<?php echo $num; ?>.setPosition(
                  new google.maps.LatLng(
                  <?php echo($value['coordinates']['coordinates'][1]); ?>,
                  <?php echo($value['coordinates']['coordinates'][0]) ?>));
                  // 地図へ設定
                  marker<?php echo $num; ?>.setMap(gmap);

            //吹き出し表示処理(省略)

       }
      }
            gmap.setCenter(latlng);
        }
// -->
</script>


以下にサンプルを用意した。
東京周辺でつぶやかれたTweetを地図上に表示する



  
検索フォーム
プロフィール

サトリヒロシ

Author:サトリヒロシ
ビジネスを重視した企画を支援したいエンジニアが、何かを書こうとするブログです。

サトリ潜伏先
サトリ倉庫

WEB関連の技術で調査リクエストがあればご連絡ください。

カレンダー
11 | 2024/12 | 01
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 - - - -
カテゴリ
最新記事
最新コメント
最新トラックバック
月別アーカイブ
RSSリンクの表示
リンク
QRコード
QRコード
FC2カウンター
スポンサードリンク