Upload
google-cloud-platform-japan
View
497
Download
7
Embed Size (px)
Citation preview
© 2015 Google
Maps API で、かしこく地図アプリを開発しよう
Geospatial Sales Engineer, Google Maps for Work丸山 智康
#gcpライブ
Ingress
Ingress ??
Ingress
130,000,000 km 9,000,000 DL 10,000,000 申請 50,000 人
Ingressも企業コラボや地域イベントと連携
ローソン(ポータル) AXA(シールド) 横須賀市
agenda1. Google Maps API (含 Mobile SDK) の今
2. “ 5分 ” でわかる位置情報アプリの開発
3. 利用規約の解読と有償版の利用
1.Google Maps API (含 Mobile SDK) の今
10th anniversary!!
10th anniversary!!
Google Maps デスクトップ版の登場
Google Maps モバイル登場(US)
Google Earthの登場により航空写真へのアクセスが可能に
Googleマップメーカーの登場ユーザが自ら、現地の最新情報をMaps/Earthに更新可能になる
ナビ機能の拡充
Zagat社の買収によりユーザに精度の高い現地情報を提供
トレッカーの登場により車では到達できない美しい場所の撮影も可能に
Waze社の買収鮮度のある交通情報を共有
Google Maps MobileのiOS対応
Skybox買収
ストリートビューの登場
30%
グーグルの検索には
“位置情報”もしくは地理的要素が含まれている
41%
インターネットユーザはGoogle maps を利用
50%はモバイルユーザ
月間アクティブユーザ
200万以上サイトで Google Maps を利用
10億
位置情報はさらに重要に
Source: Google internal, and http://www.internetworldstats.com/stats.htm
定時に到着するコンテナ
O2O
見守りサービス
自動走行車両
位置情報サービスの今
2.” 5分 ” でわかる位置情報アプリの開発
日本最古の位置情報取得アプリとは?
今回作成するもの
四国八十八ケ所
日本の古来よりあるチェックインサービス
ソリューションのイメージ
開発の流れ
MapFragmentテンプレートの選択
ピンの設定とカスタマイズ(MarkerClusterの利用)
APIの有効化APIキーの取得
バックエンドの生成(Cloud Endpointモジュール)
Android Studio Google Cloud Platform(Console/Endpoint)
EndpointでAPI記述(Cloud Datastore の利用)
バックエンドの自動生成(AppEngine/Datastore生成)
お寺名称・緯度経度のCSVファイル
クライアントモジュールの生成・API接続処理
Backendの生成
Map の設定
接続
API Key の設定
コマンドラインで keytool を実行(Android Studioがインストールされていれば利用可能 )
コマンドラインで keytool を実行した結果
別名: androiddebugkey作成日 : 2014/01/20エントリ・タイプ : PrivateKeyEntry証明書チェーンの長さ : 1証明書 [1]:所有者 : CN=Android Debug, O=Android, C=US発行者 : CN=Android Debug, O=Android, C=USシリアル番号 : 52dc713f有効期間の開始日 : Mon Jan 20 09:43:43 JST 2014終了日 : Wed Jan 13 09:43:43 JST 2044証明書のフィンガプリント :
MD5: F0:22:8E:3B:81:F8:79:32:7F:5D:4F:2C:B3:BE:E5:B2 SHA1: 51:29:7B:E2:EE:A1:A5:24:69:30:D0:D6:29:8F:F3:39:77:D6:89:13
Map の表示
google_maps_api.xml
2. API Key を入力
Android Studioを起動して
1. Google Maps のテンプレートを選択
Android Studio
ピンの設定とカスタマイズ
ピンの重なり発生!
もっと見やすくするのには?
Marker Cluster の利用
Manage marker clusters の利用 Google Maps Android API Utility Library
プロジェクトへのEndpointの導入
Android Studioで更にモジュールを追加
ローカル環境で実行してみる
ローカル環境で実行( http://localhost:8080)
Android Studio ブラウザ
モジュールの追加で自動的にbackendが生成切り替えてローカルで動作が確認できる
開発の流れ
MapFragmentテンプレートの選択
ピンの設定とカスタマイズ(MarkerClusterの利用)
APIの有効化APIキーの取得
バックエンドの生成(Cloud Endpointモジュール)
Android Studio Google Cloud Platform(Console/Endpoint)
EndpointでAPI記述(Cloud Datastore の利用)
バックエンドの自動生成(AppEngine/Datastore生成)
お寺名称・緯度経度のCSVファイル
クライアントモジュールの生成・API接続処理
Backendの生成
Map の設定
接続
API の記述
Check In するための API(MyEndPoint.java)
サーバへのデプロイ
Android Studioからデプロイ可能 フォームをブラウザで確認 (https://appengine.google.com/)
APIクラス名を指定してコマンドラインでクライントライブラリを生成
クライアントモジュールの生成
クライアントライブラリとなる MyApiクラス に、api を呼び出すメソッドが追加
サーバとの接続
チェックイン API の呼び出しと通信処理がシンプルに
クライアントライブラリ
MyApi インスタンス
完成
四国八十八ケ所アプリの完成
まとめと開発時間の計測
現状のアプリ+αによって実現可能なこと
● 時間の関係で省略した機能○ ユーザ毎のデータ管理○ Google Maps API Webサービスの併用(Geocoding API, Directions API)○ 検索機能やメモなどの追加
● 連携可能な項目○ ビーコンとの連携
■ シームレス(GPS+ビーコン)な来客促進アプリ、案内支援アプリ○ ストリートビューとの連携
■ お店の紹介 ( カスタムストリートビュー ) 、現地調査支援ツール○ Google Cloud Platformの更なる活用
■ GeoFireの利用によるリアルタイムデータSync
位置情報アプリケーションへの展開
3.利用規約の解読と有償版の利用
アプリケーション開発モデル
地図の実装方法製品名
(Free/business) 形態 API名称
Webアプリ Web
Google Maps API Google Maps API for Work
動的 Javascript API v3
静的 Static Maps API
動的Webサービス(Geocoding/Elevation/Places)
ネイティブアプリ(オンラインストア経由もしくは個別配信)
Web (WebViewなど組み込み型)
動的 Javascript API v3
静的 Static Maps API
ネイティブGoogle Maps Mobile SDKGoogle Maps Mobile SDK for Business
Android Google Maps Android API v2
iOS Google Maps SDK for iOS
Google Maps API 製品群
● Google Maps API for Work○ 社内向けにユーザ限定でアクセス可能なサイト○ 企業の配達業務、車両などの動態管理、資産管理に関連するアプリ
ケーション○ 25,000ページビュー/日以上のアクセスがあるサイト
● Mobile SDK (Android/iOS)○ アセット追跡○ 内部配布アプリケーションを開発する○ AppStore/ Play storeを経由せずに有償で販売する場合
■ オンラインストアを経由すれば有償版は無償配布可能
その1:Google Maps for Work(有償版)が必要なケースとは?
https://developers.google.com/maps/licensing
● Maps API for Work○ SLA (サービスレベル契約:99.9%の稼働保証)○ 広告の制御 ( 非表示が可能) ○ Googleによる技術サポート契約が含まれる○ 正確なページビュー数のレポート機能が利用可能
● Mobile SDK(上記に加えて)○ iOS/Android で同一ライセンスが使用できる○ 静的なライブラリ(SDK)を利用できる○ Google Play の Client Library が不要
有償版ご利用のメリット
https://developers.google.com/maps/licensing
● Maps API○ Google MapsのJavaScriptファイルをダウンロードした回数○ Static Maps や Street View Image APIから画像を呼び出した回数
■ 例えばTempleteのScriptタグ内にjsの呼び出しがあると、毎回読んでしまい必要以上にページビューを消費するので要注意!
● Mobile SDK○ 以下のコマンドの”onCreate()”メソッドが呼ばれた回数
■ iOS : GMSMapView または GMSPanoramaView object■ Android:MapFragment, SupportMapFragment, MapView
その2:ページビュー(mapload)のカウント方法
● データのパフォーマンス向上のために、データをキャッシングできますか?
● Maps APIのウェブサービスで取得したデータはGoogle Maps以外でも利用したいのですが…
● Maps API を利用したプロモーションを実施したい場合どうすればいいですか?● Mobile SDKのライセンスを購入し、ウェブサービスのリクエストを利用できます
か?
その他:よく頂く質問
https://developers.google.com/maps/faq
○ Places APIやGeocodingAPIについては、パフォーマンス向上の目的で30日間に限りキャッシングが許可されております(10.1.3)
○ Webサービスで得られた緯度経度や標高情報、ストリートビュー情報などはMaps以外ではご利用になれません(10.1.1.h)
○ 別途MapsAPIのライセンスが必要となります
ご清聴ありがとうございました
http://goo.gl/ABTW9Cエー/ビー/ティー/ダブリュー/ナイン/シー
アンケートにお答え頂くとデモアプリのプロジェクトにアクセス頂けます。ご協力の程よろしくお願いいたします