Google Mapをプロダクトに組み込む際に注意すること(料金)

たまたまお仕事でGoogleマップなどの地図サービスを
アプリに組み込む機会がありましたので、
Googleマップをアプリに組み込む際の料金体系を調べてみました。

まず、プロダクトにGoogleマップを組み込む場合は、
Google Maps Platform を使うことになります。

Google Maps Platform は
プロダクトにGoogle Mapを組み込むためのクラウドサービスで、
マップ、ルート、プレイスという3つの大きなサービスと、
それらにアクセスするためのAPIで構成されています。
※下記サイトにサービス一覧と料金表があります。
https://cloud.google.com/maps-platform/pricing/sheet/

細かく枝分かれしたサービスとAPIがあるので、
プロダクト内での地図の用途に合わせて
サービスを選定する必要があります。

例えば
サイトに表示した地図に独自のアイコン(カスタムピン)を表示したり、
それをクリックした際に独自のアクション
具体的には『観光スポットにピンが立った観光地図を作成し、
ピンをクリックしたらその観光スポットのサイトに飛ばす』
などを行いたいのであれば、Google Maps Platform でAPIキーを発行し、
Static MapxやDynamic Maps(課金サービス)を使う必要があります。

なお、自社サイトへのアクセスページに地図を載せるだけなら、
Google Maps Platform を使う必要はなく、
Google Map から埋め込み用の iframe タグを取得すれば済みます。
(この場合は無料で使用できます)

AndroidアプリでGoogle Mapを利用するには?料金は?

上記の具体例にも出てきた
『カスタムピンをGoogleマップ上に表示し、ピンをクリックしたら特定の処理』
をAndroidネイティブアプリで行いたい場合は、
下記のチュートリアルが参考になります。
https://developers.google.com/maps/documentation/android-sdk/map-with-marker

料金については
StaticMapとDynamicMapは無料なので、MapFragment
(や、iOSのGMSMapView)を使用してカスタムピンを実現する分には
無料で使用できます。
https://developers.google.com/maps/billing/gmp-billing?hl=ja#mobile-static

ただし、ストリートビュー機能や、ルーティング(ナビゲーション)
の機能を使う場合は、 それぞれ
・ Static Street View
・ Dynamic Street View
・ルート(Directions)
・距離行列(Distance Matrix)
・道路(Roads)
に該当し、API呼び出しごとの課金が発生します。
Google Maps Platformでは月額200ドルまでの
無料枠が設定されているのですが、
何も考えずアプリにこれらの機能を組み込んでしまうと
システムの運用、維持コストを増やし、収益を圧迫しますので、
注意が必要です。