このGoogle Mapsを自社のホームページやアプリなどに組み込むことでユーザーの利便性を大きく向上させることができます。
Google Maps自体がGoogle Maps APIのショーケース(見本)と考えて良く、その機能を直接使用して確かめることもできます。ブラウザやスマホのGoogle Mapsでできることは、Google Maps APIで実現することが出来るということです。
Android、iOSへの組み込みはもちろん、JavaScriptでウェブサイトに地図を追加するなど、作りたいものの大体は実現できるでしょう。
ここでは、Google Maps APIを使ってできることや、料金、使い方などをご紹介していきます。
Google Maps APIで何ができる?
前記の通り、Googlemapでできていることは、Google Maps APIで実現することが出来ます。
地図表示、現在地表示、施設検索、住所の取得、ストリートビュー。
ルート検索は、公共交通機関、自転車、車、徒歩の検索、複数ルートの表示や経由地の設定も可能です。
これら全てにAPIが用意されています。
どんな使い方が考えられるでしょうか。ここでは一例を紹介していきます。
Case1:地図画面上に、独自のボタンや情報を配置して、他の機能と連携させる。
自宅ボタンを作って、自宅へのルート探索から案内開始までをワンタップでできるようにしたり、歩数計からの数値を取って、リアルタイムで地図上に表示させたり、目的に応じた機能を好きなように作り込むことができます。
自社特有の機能を地図と合わせて使いたいなどの連携も実現可能です。
Case2:データベースに保存している独自のルートを表示する。
Google Maps APIのルート検索のルートデータではなく、自転車や徒歩で歩いた緯度経度情報を予めデータベースに保存しておき、散策ルートやサイクリングルート、観光ルートのようにして、独自のルートマップを作ることができます。
Case3:ポリゴンデータを描画して、特定エリアの地図に色を付ける。
災害マップやスクールゾーンなど、特定エリアをポリゴンで持っておけば、地図上に重畳して表示することができます。
Case4:データベースに保存している地点情報を地図に表示する。
観光情報や、グルメ雑誌の店舗情報などのデータをまとめておき、地図上に詳細情報とともに表示できるようにする。
Case5:緯度経度情報を住所に変換する
アプリやウェブサイトに実装するばかりがAPIの使い方ではありません。
バックオフィスのような裏で処理するようなシステムでもAPIは活用できます。
大量にある顧客住所から、緯度経度をAPIで取得したり、緯度経度情報を住所に変換したりというような裏方作業でもAPIは活躍します。
Case2〜4などは、データ参照で地図に付加価値を付けるものなので、スマホアプリの場合は「○○観光マップ」や「関西ラーメン特集」などのようにカテゴリにしてアプリ内課金で販売するというような実装も可能でしょう。
無料でできる?APIの利用料金は?
ちょっと試しに使ってみたい、勉強のためや、プロトタイプの開発としても使えるので有り難い仕組みですね。
『月$200分のAPI利用は無料』ということなので、$200を超えると請求が発生し、従量課金されます。従量課金ですので、APIに対するリクエスト回数等に応じて料金が発生します。
無料で使い始めることができるものの、アカウント登録の際にクレジットカードの登録が必要で、請求が発生した場合は登録したクレジットカードから引き落とされます。
では、月$200で、どれくらいの量のAPIが使えるのでしょうか。
先に結論を書くと、『十分』な量です。
もちろん、本番サービスや大規模システムではすぐオーバーしますが、開発で使ったり、個人が使うレベルであれば十分事足ります。
具体的な料金を見ていきましょう。
(引用:https://cloud.google.com/maps-platform/pricing?hl=ja)
料金が発生する要素としては以下があります。
・ APIに対するリクエスト数に応じて
・マップの表示 表示されるマップのタイル数に応じて
・住所や場所の緯度経度への変換を行うジオコーディングの利用
・経路の計算
例えばStaticMapsだと、1000件リクエストして$2なので一日3000件リクエストしても無料の範囲内です。
とはいえ、StaticMapsは地図を表示するという基本の機能なので、スマホでは無料ですし、安いです。
地図を使う際に必ず必要となりそうな『プレイス』のカテゴリにあるAPI、ルート検索する際使う『ルート』APIは、ものによって1000件のリクエストで$30というものもあります。
何らかのシステム開発で見積をしなければいけない場合、開発しようとするシステムがどのAPIを使い、どれくらいのアクセスが発生しそうかを仮定し、上記の料金表で計算すると良いでしょう。
大規模に利用する場合は、ボリュームディスカウントが用意されています。
Google Maps APIの利用は何からはじめたら良い?
公式サイトのドキュメントにチュートリアルが用意されています。
・マーカーが配置された地図を追加する
https://developers.google.com/maps/documentation/android-sdk/map-with-marker?hl=ja
・現在の場所を選択して地図上に詳細を表示する
https://developers.google.com/maps/documentation/android-sdk/current-place-tutorial?hl=ja
・ルートとエリアを表すポリラインとポリゴン
https://developers.google.com/maps/documentation/android-sdk/polygon-tutorial?hl=ja
このように、ドキュメントも親切なので、情報には困らずに開発をスタートさせることができます。
開発に必要なAPIキーの取得と使い方
APIキーは、誰がアクセスしてきているのかGoogleが識別するためのキーで、課金のカウントにも使われます。
取得や設定方法も丁寧に説明があるので、ドキュメントを参照すると良いでしょう。
https://developers.google.com/maps/documentation/android-sdk/get-api-key?hl=ja
さて、このAPIキーですが、おすすめの使い方は
「開発用APIキー」と、
「本番サービス用APIキー」をそれぞれ発行しておき、APIキーを分けることです。
APIキーを分けておくことで、開発者やテスターのアクセスと、純粋にサービスを使っているユーザのアクセスを分けることができます。
開発段階のアクセスが分けられると、課金の上でもメリットがありますね。
その他に有名なAPIにはどのようなものがあるか
・Twitter API:Twitterのデータにアクセスし、ツイートの取得や投稿、ユーザー情報の取得などを行う
・Facebook Graph API: Facebookのプラットフォームにアクセスし、ユーザーデータの取得や投稿、友達リストの取得などを行う
・GitHub API: GitHubのリポジトリやユーザーデータにアクセスし、リポジトリの作成やコードの取得、イシューの管理などを行う
・YouTube Data API: YouTubeの動画やチャンネルデータにアクセスし、動画の検索やアップロード、コメントの管理などを行う
・OpenWeatherMap API: 天気情報を提供するAPIで、現在の天気や予報、気温や湿度などのデータを取得できる
・Amazon Web Services (AWS) API: AWSのクラウドサービスにアクセスし、インスタンスの管理、データストレージ、メッセージングなどを行う
・Stripe API: オンライン決済処理を行うためのAPIで、クレジットカードの決済や顧客管理、サブスクリプションの管理などを行う
まとめ
開発ドキュメントも整備されており、インターネット上での情報も多く、開発をスタートさせる時のハードルは低いので是非チャレンジしてみてください。