ブラウザやスマホアプリで、場所を検索したり、ルート検索したり様々な機能を使うことができるGooglemaps。
Googlemaps自体がGoogle Maps APIのショーケース(見本)と考えて良いです。
ブラウザやスマホのGooglemapsでできていることは、Google Maps APIで実現することが出来ます。
Android、iOSへの組み込みはもちろん、JavaScriptでウェブサイトに地図を追加するなど、作りたいものの大体は実現できるでしょう。
ここでは、Google Maps APIを使ってできることや、料金、使い方などをご紹介していきます。
Google Maps APIで何ができる?
前記の通り、Googlemapでできていることは、Google Maps APIで実現することが出来ます。
地図表示、現在地表示、施設検索、住所の取得、ストリートビュー。
ルート検索は、公共交通機関、自転車、車、徒歩の検索、複数ルートの表示や経由地の設定も可能です。
これら全てAPIが用意されています。
どんな使い方が考えられるでしょうか。ここでは一例を紹介していきます。
自宅ボタンを作って、自宅へのルート探索から案内開始までをワンタップでできるようにしたり
歩数計からの数値を取って、リアルタイムで地図上に表示させたり、目的に応じた機能を好きなように作り込むことができます。
自社特有の機能を地図と合わせて使いたいなどの連携も実現可能です。
Google Maps APIのルート検索のルートデータではなく、自転車や徒歩で歩いた緯度経度情報を予めデータベースに保存しておき、散策ルートやサイクリングルート、観光ルートのようにして、独自のルートマップを作ることができます。
災害マップやスクールゾーンなど、特定エリアをポリゴンで持っておけば、地図上に重畳して表示することができます。
観光情報や、グルメ雑誌の店舗情報などのデータをまとめておき、地図上に詳細情報とともに表示できるようにする。
アプリやウェブサイトに実装するばかりがAPIの使い方ではありません。
バックオフィスのような裏で処理するようなシステムでもAPIは活用できます。
大量にある顧客住所から、緯度経度をAPIで取得したり、緯度経度情報を住所に変換したりというような裏方作業でもAPIは活躍します。
Case2〜4などは、データ参照で地図に付加価値を付けるものなので、スマホアプリの場合は「○○観光マップ」や「関西ラーメン特集」などのようにカテゴリにしてアプリ内課金で販売するというような実装も可能でしょう。
地図表示、現在地表示、施設検索、住所の取得、ストリートビュー。
ルート検索は、公共交通機関、自転車、車、徒歩の検索、複数ルートの表示や経由地の設定も可能です。
これら全てAPIが用意されています。
どんな使い方が考えられるでしょうか。ここでは一例を紹介していきます。
Case1:地図画面上に、独自のボタンや情報を配置して、他の機能と連携させる。
自宅ボタンを作って、自宅へのルート探索から案内開始までをワンタップでできるようにしたり
歩数計からの数値を取って、リアルタイムで地図上に表示させたり、目的に応じた機能を好きなように作り込むことができます。
自社特有の機能を地図と合わせて使いたいなどの連携も実現可能です。
Case2:データベースに保存している独自のルートを表示する。
Google Maps APIのルート検索のルートデータではなく、自転車や徒歩で歩いた緯度経度情報を予めデータベースに保存しておき、散策ルートやサイクリングルート、観光ルートのようにして、独自のルートマップを作ることができます。
Case3:ポリゴンデータを描画して、特定エリアの地図に色を付ける。
災害マップやスクールゾーンなど、特定エリアをポリゴンで持っておけば、地図上に重畳して表示することができます。
Case4:データベースに保存している地点情報を地図に表示する。
観光情報や、グルメ雑誌の店舗情報などのデータをまとめておき、地図上に詳細情報とともに表示できるようにする。
Case5:緯度経度情報を住所に変換する
アプリやウェブサイトに実装するばかりがAPIの使い方ではありません。
バックオフィスのような裏で処理するようなシステムでもAPIは活用できます。
大量にある顧客住所から、緯度経度をAPIで取得したり、緯度経度情報を住所に変換したりというような裏方作業でもAPIは活躍します。
Case2〜4などは、データ参照で地図に付加価値を付けるものなので、スマホアプリの場合は「○○観光マップ」や「関西ラーメン特集」などのようにカテゴリにしてアプリ内課金で販売するというような実装も可能でしょう。
無料でできる?APIの利用料金は?
Google Maps APIは、月$200のクレジットが付いているので無料で使いはじめることができます。
ちょっと試しに使ってみたい、勉強のためや、プロトタイプの開発としても使えるので有り難い仕組みですね。
『月$200分のAPI利用は無料』ということなので、$200を超えると請求が発生し、従量課金されます。
無料で使い始めることができるものの、アカウント登録の際にクレジットカードの登録が必要で、請求が発生した場合は登録したクレジットカードから引き落とされます。
では、月$200で、どのくらいの量APIが使えるのでしょうか。
一言で言うと『十分』な量です。
もちろん、本番サービスや大規模システムではすぐオーバーしますが、開発で使ったり、個人が使うレベルであれば十分事足ります。
具体的な料金を見ていきましょう。

(引用:https://cloud.google.com/maps-platform/pricing?hl=ja)
例えばStaticMapsだと、1000件リクエストして$2なので一日3000件リクエストしても無料の範囲内です。
とはいえ、StaticMapsは地図を表示するという基本の機能なので、スマホでは無料ですし、安いです。
地図を使う際に必ず必要となりそうな『プレイス』のカテゴリにあるAPI、ルート検索する際使う『ルート』APIは、ものによって1000件のリクエストで$30というものもあります。
何らかのシステム開発で見積をしなければいけない場合、開発しようとするシステムがどのAPIを使い、どれくらいのアクセスが発生しそうかを仮定し、上記の料金表で計算すると良いでしょう。
大規模に利用する場合は、ボリュームディスカウントが用意されています。
ちょっと試しに使ってみたい、勉強のためや、プロトタイプの開発としても使えるので有り難い仕組みですね。
『月$200分のAPI利用は無料』ということなので、$200を超えると請求が発生し、従量課金されます。
無料で使い始めることができるものの、アカウント登録の際にクレジットカードの登録が必要で、請求が発生した場合は登録したクレジットカードから引き落とされます。
では、月$200で、どのくらいの量APIが使えるのでしょうか。
一言で言うと『十分』な量です。
もちろん、本番サービスや大規模システムではすぐオーバーしますが、開発で使ったり、個人が使うレベルであれば十分事足ります。
具体的な料金を見ていきましょう。

(引用:https://cloud.google.com/maps-platform/pricing?hl=ja)
例えばStaticMapsだと、1000件リクエストして$2なので一日3000件リクエストしても無料の範囲内です。
とはいえ、StaticMapsは地図を表示するという基本の機能なので、スマホでは無料ですし、安いです。
地図を使う際に必ず必要となりそうな『プレイス』のカテゴリにあるAPI、ルート検索する際使う『ルート』APIは、ものによって1000件のリクエストで$30というものもあります。
何らかのシステム開発で見積をしなければいけない場合、開発しようとするシステムがどの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
このように、ドキュメントも親切なので、情報には困らずに開発をスタートさせることができます。
公式サイトのドキュメントにチュートリアルが用意されています。
・マーカーが配置された地図を追加する
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キーの取得と使い方
前項のGoogle公式ドキュメントやチュートリアル内にもありますが、開発してAPIを有効にするには『APIキーの取得とアプリへの追加』が必要です。
APIキーは、誰がアクセスしてきているのかGoogleが識別するためのキーで、課金のカウントにも使われます。
取得や設定方法も丁寧に説明があるので、ドキュメントを参照すると良いでしょう。
https://developers.google.com/maps/documentation/android-sdk/get-api-key?hl=ja
さて、このAPIキーですが、おすすめの使い方は
「開発用APIキー」と、
「本番サービス用APIキー」をそれぞれ発行しておき、APIキーを分けることです。
APIキーを分けておくことで、開発者やテスターのアクセスと、純粋にサービスを使っているユーザのアクセスを分けることができます。
開発段階のアクセスが分けられると、課金の上でもメリットがありますね。
APIキーは、誰がアクセスしてきているのかGoogleが識別するためのキーで、課金のカウントにも使われます。
取得や設定方法も丁寧に説明があるので、ドキュメントを参照すると良いでしょう。
https://developers.google.com/maps/documentation/android-sdk/get-api-key?hl=ja
さて、このAPIキーですが、おすすめの使い方は
「開発用APIキー」と、
「本番サービス用APIキー」をそれぞれ発行しておき、APIキーを分けることです。
APIキーを分けておくことで、開発者やテスターのアクセスと、純粋にサービスを使っているユーザのアクセスを分けることができます。
開発段階のアクセスが分けられると、課金の上でもメリットがありますね。
まとめ
普段身近に使っているGooglemap。Google Maps API を使えば、自由に地図を扱え、目的に応じたアプリやウェブシステムができることをご紹介しました。
開発ドキュメントも整備されており、インターネット上での情報も多く、開発をスタートさせる時のハードルは低いので是非チャレンジしてみてください。
開発ドキュメントも整備されており、インターネット上での情報も多く、開発をスタートさせる時のハードルは低いので是非チャレンジしてみてください。