Google Maps APIプログラミング入門 改訂2版
3,168円 (2,880円+税)
サポートサイト
出版社による関連ページが公開されています。
- Google Maps APIプログラミング入門 改訂2版 (KADOKAWA/アスキー・メディアワークス)
内容紹介
Google Maps APIは、Webの世界で最も使われているAPIです。そのGoogle Maps APIについて、基本的な使い方から、かなり細かい機能まで公式ドキュメントより詳細に解説しているのが本書です。
各章の影のタイトルをセールスポイントを踏まえて書いてみます。
- 第1章 Google Maps APIの利用規約とは
- 第2章 なにができる! Google Maps API
- 第3章 Google Maps APIの各機能を徹底調査
- 第4章 こうやって使えるのか!
- 第5章 知られざるパワフルな「Google Maps Image API」
- 第6章 無償版だけではわからないGoogle Maps API for Business
- 第7章 Latitude APIって使いこなせば便利?!
- 第8章 Places API徹底検証
どうでしょうか、なんとなく中身が想像できますでしょうか。第3章は、公式ドキュメントでは1行しか書いてなくても、本書では2ページを使って解説していたりします。第4章では「ストリートビューの作り方」を紹介しています。これは非常におもしろいです。第6章ではGoogle Maps API for Businessでしか使えない機能を紹介しています(全面的に協力していただいた株式会社ゴーガにお礼を申し上げます)。
(「はじめに」より)
書誌情報
- 著者: 勝又雅史, 株式会社ゴーガ監修
- 発行日: 2012-12-04
- 最終更新日: 2012-12-04
- バージョン: 1.0.0
- ページ数: 521ページ(A4PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: KADOKAWA/アスキー・メディアワークス
対象読者
Google Mapsを使おうとしている方・使っている方、特にGoogle Maps API v3の情報を求めている方
著者について
勝又雅史
1982年静岡生まれ、根っからのGeek。
中学生のころに初めて白黒ベースのBasicを触ってプログラミングに感動を覚えたものの、家にはパソコンはなかったので、ノートでプログラムを作っていたギークな少年でした。
地元の工業高校では、授業中にプログラムを組んでいて怒られたことも。高校生で初めてトランジスタ技術に記事が掲載され、そこから「いつか本を書いてみたい」というのが夢でした。投稿した記事は「PICマイコン 逆アセンブラ帝(みかど)」と、マニアックなネタでした。
大学時代は、Windows APIや実行可能ファイル(.exe)のファイル構造に興味を持ち、Windows OSの内部構造を追いかけることが楽しい日々でした。大学の卒業研究でPerlを本格的に使い始め、WindowsからWebに興味が移りました。
この頃リリースされたGoogle Maps API version 1を覚えようと、わけもわからず始めたサイト「Google Maps 活用講座」がキッカケで数年後にGoogleから声をかけていただき、Google Maps API Expertになりました。
そして「本を書きたい」と言い続けていたら、本書を書かせていただいているアスキー・メディアワークス様を紹介していただき「Google Maps APIプログラミング入門」(第1版)を出版。
その後、「Google Maps APIプログラミングガイド」(共著:インプレス・ジャパン)を執筆し、本書「Google Maps APIプログラミング入門改訂2版」に至ります。
周りからは「話の年代と実際の年代が合わない」と言われる30才です。
Web http://googlemaps.googlermania.com
Google+ https://plus.google.com/u/0/112861993350247152906/
Facebook https://www.facebook.com/masashi.katsumata.39
目次
はじめに
第1章 Google Maps API について
- 1.1 Google Maps API 無償版の利用規約について(ポイント解説)
- 1.2 Google Maps API 無償版の利用量制限について
- 1.3 Google Maps API v2 からGoogle Maps API v3 へのアップグレードについて
- 1.3.1 Google Maps API v2 とv3 の主な違い
- 1.3.2 Google Maps API v2 からv3 へのアップグレード方法
- 1.3.3 簡単なコードで確認する
- 1.4 Google Maps API for Flash からGoogle Maps API v3 への移植について
- 1.5 Google Maps API に関する情報源・コミュニティ・問題追跡システム
- 1.6 Google Maps API に関する用語
- 1.7 Google Maps API 無償版でのAPI キーについて
第2章 Google Maps APIversion 3 の使い方
- 2.1 Google Maps API v3 の使い方
- 2.2 地図上にマーカーを表示する/非表示にする
- 2.2.1 基本的な使い方
- 2.2.2 Marker クラスのプロパティとメソッド
- 2.2.3 1 つの関数にまとめる
- 2.2.4 サンプルコード
- 2.3 情報ウィンドウ(吹き出し)を表示する
- 2.3.1 基本的な使い方
- 2.3.2 InfoWindow クラスのプロパティとメソッド
- 2.3.3 サンプルコード
- 2.4 イベントについて理解する
- 2.4.1 イベントリスナ
- 2.4.2 DOM イベントとMap イベント
- 2.4.3 サンプルコード
- 2.5 MVCObject を使うととても便利
- 2.5.1 基本的な使い方
- 2.5.2 さらに便利なbindTo() メソッド
- 2.5.3 サンプルコード
- 2.6 ポリラインやポリゴン・矩形・円を描画する
- 2.6.1 基本的な使い方
- 2.6.2 Polyline.getPath() を利用する
- 2.6.3 サンプルコード
- 2.7 地名から緯度経度を、緯度経度から地名を調べる
- 2.7.1 基本的な使い方
- 2.7.2 検索結果のレスポンス
- 2.7.3 言語設定
- 2.7.4 リージョン設定
- 2.7.5 サンプルコード
- 2.8 ルート検索(ディレクション)
- 2.8.1 基本的な使い方
- 2.9 緯度経度から高さを調べるエレベーションサービス
- 2.9.1 基本的な使い方
- 2.9.2 サンプルコード
- 2.10 Google ストリートビュー
- 2.10.1 基本的な使い方
- 2.10.2 StreetViewPanorama クラス
- 2.10.3 ストリートビューの撮影された緯度経度を調べる
- 2.10.4 近隣のストリートビューが撮影された場所を調べる
- 2.10.5 サンプルコード
- 2.11 地図のスタイルを変更する
- 2.11.1 StyleMapTypeWizard
- 2.11.2 基本的な使い方
- 2.12 最大ズームレベル
- 2.12.1 基本的な使い方
- 2.12.2 サンプルコード
- 2.13 KmlLayer
- 2.13.1 基本的な使い方
- 2.13.2 KmlLayer の基本動作
- 2.13.3 取得したKml データの詳細を知る
- 2.13.4 Google マイプレイスをエディタとして利用する
- 2.14 Fusion Tables との連携
- 2.14.1 FusionTables の設定
- 2.14.2 Fusion Tables のデータをGoogle Maps API で利用する
- 2.15 Google Adsense の表示
- 2.15.1 基本的な使い方
- 2.15.2 フォーマットの変更
- 2.15.3 位置の指定
- 2.15.4 サンプル
- 2.16 Places ライブラリの利用
- 2.16.1 基本的な使い方
- 2.16.2 サンプルコード
- 2.17 TransitLayer(路線図レイヤ)
- 2.18 TrafficLayer(交通情報レイヤ)
- 2.19 BicyclingLayer(自転車用ルートレイヤ)
- 2.20 WeatherLayer とCloudLayer(天気レイヤと雲レイヤ)
- 2.20.1 基本的な使い方
- 2.20.2 WeatherLayer のオプション
- 2.20.3 クリックイベント
- 2.20.4 サンプルコード
- 2.21 Panoramio Layer
- 2.21.1 基本的な使い方
- 2.21.2 オプション
- 2.21.3 クリックイベントでのカスタマイズ
- 2.22 Distance Matrix
- 2.22.1 基本的な使い方
- 2.22.2 結果について
第3章 Google Maps API version 3 リファレンス編
- 3.1 地図の表示(Map クラス)
- 3.1.1 地図の表示
- 3.1.2 指定した緯度経度の領域に合うように地図を表示する
- 3.1.3 緯度経度とズームレベルを指定する
- 3.1.4 地図のマップタイプID と45°衛星写真の表示
- 3.1.5 地図の状態を取得する
- 3.1.6 地図に関するデフォルトの動作や設定を変更する
- 3.2 マーカー
- 3.2.1 地図にマーカーを表示する
- 3.2.2 マーカーのアイコン画像を変更する
- 3.2.3 一枚の画像ファイルから複数のアイコン画像を変更する
- 3.2.4 マーカーがクリックされたら情報ウィンドウを開く
- 3.2.5 マーカーのアイコンにクリックできる範囲を設定する
- 3.2.6 マーカーをドラッグできるようにする
- 3.2.7 マーカーを地図上から削除する
- 3.2.8 マーカーのアイコンにシンボルを指定する
- 3.2.9 複雑な形状のマーカーを作成する
- 3.2.10 マーカーにアニメーションを設定する
- 3.3 情報ウィンドウ
- 3.3.1 情報ウィンドウを開く
- 3.3.2 地図上に1 つだけの情報ウィンドウを開く
- 3.3.3 情報ウィンドウの設定を変更する
- 3.4 イベント
- 3.4.1 UI イベントを捉える
- 3.4.2 MVC 状態変化イベント
- 3.4.3 Model-View-Controller をキッチリ分ける
- 3.4.4 イベントを発生させる
- 3.5 ポリラインやポリゴン・矩形・円
- 3.5.1 ポリラインの描画
- 3.5.2 ポリゴンの描画(1)
- 3.5.3 ポリゴンの描画(2)
- 3.5.4 矩形を描画する
- 3.5.5 円を描画する
- 3.5.6 ポリライン・ポリゴン・矩形・円のイベントと削除
- 3.5.7 ポリライン・ポリゴン・矩形・円を編集できるようにする
- 3.5.8 ポリライン・ポリゴン・マーカーの描画コントロールを使用する
- 3.5.9 DrawingManager のオプションを設定する
- 3.5.10 DrawingManager で描画されたことを知る
- 3.5.11 矢印付きのポリラインを描画する
- 3.6 ジオコーディング・逆ジオコーディング
- 3.6.1 住所から緯度経度を取得する(ジオコーディング)
- 3.6.2 ジオコーディングの結果について
- 3.6.3 緯度経度から住所や地名を取得する(逆ジオコーディング)
- 3.7 コントローラ
- 3.7.1 コントロールの表示/非表示を設定する
- 3.7.2 コントロールのスタイルを変更する
- 3.7.3 コントロールを表示する位置を変更する
- 3.7.4 右下に小さい地図を表示する
- 3.7.5 MapTypeControl で変更できるマップタイプを指定する
- 3.7.6 自作コントロールを作成する
- 3.8 Places ライブラリ
- 3.8.1 地図の中心座標から1km 圏内にある「何か」を探す
- 3.8.2 リファレンスから情報を得る
- 3.8.3 オートコンプリートの検索を実装する
- 3.8.4 ページング処理
- 3.8.5 検索の条件の指定と結果の並び順
- 3.8.6 テキスト検索
- 3.9 ディレクション(ルート検索)
- 3.9.1 DirectionsRequest について
- 3.9.2 DirectionsRenderer について
- 3.9.3 公共交通機関を使ったルート検索
- 3.9.4 DirectionsResult について
- 3.10 FusionTablesLayer
- 3.10.1 FusionTablesLayer の仕組み
- 3.10.2 指定の範囲内にあるデータのみを表示する
- 3.10.3 ヒートマップを表示する
- 3.10.4 ポリラインを表示する
- 3.10.5 ポリゴンを表示する
- 3.10.6 クリックイベント
- 3.10.7 スタイルを設定する
- 3.11 HeatMapLayer
- 3.11.1 HeatMapLayer の基本的な使い方
- 3.11.2 HeatmapLayerOptions について
- 3.12 GroundOverlay
- 3.13 OverlayView
- 3.13.1 OverlayView クラス
- 3.13.2 EditableGroundOverlay クラスのスケルトン
- 3.13.3 OverlayView.onAdd() メソッドの実装
- 3.13.4 OverlayView.draw() メソッドの実装
- 3.13.5 OverlayView.onRemove() メソッドの実装
- 3.13.6 編集できるGroundOverlay
- 3.14 Geometry ライブラリ
- 3.14.1 ポリライン・ポリゴンのパスをエンコード/デコードする
- 3.14.2 距離を計算する、面積を計算する
- 3.14.3 2 点間の角度を求める/ある位置からの角度と距離から緯度経度を求める/ 2 点間の補間をする
第4章 Google Maps API 応用編
- 4.1 サーバーと連携する
- 4.1.1 JSON を使って地図にマーカーを表示する
- 4.1.2 XML を使って地図にマーカーを表示する
- 4.2 TMS サービスを使ってカスタムマップタイプを作成する
- 4.2.1 マップタイルについて
- 4.2.2 TMS(Tile Map Service)について
- 4.2.3 MapType について
- 4.2.4 地図への登録
- 4.3 ストリートビューが利用できる範囲を表示する
- 4.3.1 ImageMapType クラス
- 4.4 自分で撮影したパノラマ写真をカスタムストリートビューとして表示する
- 4.4.1 ストリートビュー用の写真を撮影する
- 4.4.2 カスタムストリートビューのプログラム
- 4.5 ルート案内のアイコンを変更する
第5章 Google Maps Image APIs
- 5.1 Google Static Maps API Version 2
- 5.2 緯度経度を指定して地図を表示する
- 5.3 住所や名称を指定して地図を表示する
- 5.4 ズームレベルを指定する
- 5.5 地図サイズを指定する
- 5.6 高解像度の表示に対応するためのscale パラメータ
- 5.7 地図画像の画像形式を指定する
- 5.8 マップタイプを指定する
- 5.9 地図のスタイルを変更する
- 5.10 マーカーを追加する
- 5.11 住所や名称を使ってマーカーを指定する
- 5.12 マーカーにオリジナル画像を指定する
- 5.13 ポリライン・ポリゴンを描画する
- 5.14 エンコード化されたポリライン・ポリゴンを描画する
- 5.15 地図サイズに応じて最適な中心位置とズームの地図を表示する(1)
- 5.16 地図サイズに応じて最適な中心位置とズームの地図を表示する(2)
- 5.17 地図の表示言語を指定する
- 5.18 Google Street View Image API
第6章 Google Maps エンタープライズ
- 6.1 無償版とGoogle Maps API for Business の違い
- 6.2 Google Maps API for Business 販売代理店ソリューションパートナー
- 6.3 Google Maps API for Business の技術的な内容
- 6.4 Google Maps API for Business SLA について
- 6.5 Demographics Layer
- 6.5.1 Demographics Layer の説明
- 6.5.2 値による塗り分け
- 6.5.3 クリックイベント
- 6.6 Google Maps Engine
- 6.6.1 Google Maps Engine 管理画面
- 6.6.2 Google Maps API v3 へのレイヤの取り込み
- 6.6.3 クリックイベント
- 6.7 Google Maps Geolocation API
- 6.7.1 API キー
- 6.7.2 リクエストについて
- 6.7.3 レスポンスについて
- 6.7.4 サンプルコード
第7章 Google Latitude
- 7.1 Google Latitude を使ってみる
- 7.2 OAuth2.0 について
- 7.2.1 ログインから地図が表示されるまで
- 7.2.2 「ログインから地図が表示されるまで」の仕組みを理解する
- 7.3 位置情報履歴リスト取得を通して、Google Latitude API を理解する
- 7.3.1 Google APIs Console に登録する
- 7.3.2 地図ページを作る(1)
- 7.3.3 認証サーバーからのリダイレクト先のURL を作る
- 7.3.4 地図ページを作る(2)
- 7.3.5 Google Latitude から位置情報履歴を取得する
- 7.3.6 位置情報履歴を地図上に表示する
- 7.3.7 コードの全体像
- 7.4 Google Latitude API をAPI Explorer を使って確認する
- 7.4.1 現在の位置情報を取得する(currentLocation.get)
- 7.4.2 現在の位置情報を設定する(currentLocation.insert)
- 7.4.3 現在の位置情報を削除する(currentLocation.delete)
- 7.4.4 過去の位置情報一覧を取得する(location.list)
- 7.4.5 過去の位置情報を取得する(location.get)
- 7.4.6 過去の位置情報を挿入/更新する(location.insert)
- 7.4.7 過去の位置情報を削除する(location.delete)
- 7.4.8 その他のパラメータ
- 7.5 Google Latitude API パフォーマンスtips
- 7.5.1 gzip 圧縮の使用
- 7.5.2 レスポンスを特定のフィールドだけ取得する
- 7.5.3 特定のフィールドだけデータを更新する
- 7.6 JavaScript Client Library for Google APIs を使って実装する
- 7.6.1 OAuth2.0 を実装する
- 7.6.2 現在位置を地図上に表示する(currentLocation.get)
- 7.6.3 現在位置を変更する(currentLocation.insert)
- 7.6.4 現在位置を削除する(currentLocation.delete)
- 7.7 Google Latitude API 利用規約のポイント
第8章 Google Maps API Web サービス
- 8.1 利用する前に
- 8.2 Geocoding API
- 8.2.1 ジオコーディング・リクエストする住所の形式について
- 8.2.2 ジオコーディング結果のキャッシュについて
- 8.3 Directions API
- 8.3.1 経由地点の最適化
- 8.4 Distance Matrix API
- 8.5 Elevation API
- 8.6 Places API
- 8.6.1 周辺施設の検索
- 8.6.2 テキスト検索
- 8.6.3 施設の詳細情報を取得
- 8.6.4 チェックイン
- 8.6.5 新しい場所の追加
- 8.6.6 場所の削除
- 8.7 Places API(イベント)
- 8.7.1 イベントの追加
- 8.7.2 イベントの取得
- 8.7.3 イベントへのチェックイン
- 8.7.4 イベントの削除
- 8.8 Time Zone API
- 8.8.1 アクセス回数の制限
- 8.8.2 リクエストについて
- 8.8.3 レスポンスについて