最適化ガイド

このガイドでは、セキュリティ、パフォーマンス、消費の観点から、Google Maps API の使用量を最適化するための複数の戦略について説明します。

セキュリティ

セキュリティに関するベスト プラクティスを確認する

API キーはプロジェクト主導型の認証情報で、ユーザー ID やパスワードと同じように取り扱いに注意を要するものです。目的外の使用によりアカウントの割り当てを不当に消費してしまい、不測の請求を受けることのないように、API セキュリティに関するベスト プラクティスを確認してください。

API キーを使用して Maps API にアクセスする

API キーは、Google Maps API にアクセスする際に推奨されている認証方式です。クライアント ID は引き続きサポートされていますが、API キーはきめ細かいセキュリティ管理に対応しており、特定のウェブアドレス、IP アドレス、モバイル SDK(Android および iOS)と連携させることもできます。API キーの作成と保護について詳しくは、各 API または SDK の [API キーを使用する] ページをご参照ください。(たとえば、Maps JavaScript API については、該当する API キーを使用するをご参照ください)。

パフォーマンス

指数バックオフを使用してエラー処理を行う

割り当てエラーなど、短時間の過剰な API 呼び出しによりエラーが発生する場合は、リクエストの処理に指数バックオフを使用することをおすすめします。

指数バックオフは、500 番台のエラーに対して最も効果的です。詳細は HTTP リターン ステータス コードの処理をご確認ください。

指数バックオフとは、具体的に説明すると、クエリの送信ペースの調整です。コードで、クエリ間の待機時間として S 秒追加します。それでもクエリの際に割り当てエラーが繰り返される場合は、待機期間を 2 倍にしてから別のクエリを送信します。クエリがエラーなしで返されるまで、待機時間を調整していきます。

ユーザー操作リクエストをオンデマンドで送信する

ユーザー操作を含む API へのリクエストは、オンデマンドでのみ送信する必要があります。つまり、エンドユーザーが API リクエストを開始する操作(on-click など)を実行するまで待機してから、その結果を使用して地図の読み込み、目的地の設定、適切な情報の表示を行います。オンデマンド送信により API に対する不要なリクエストを回避して、API の消費を減らすことができます。

地図を動かしているときにオーバーレイ コンテンツが表示されないようにする

ユーザーが地図を移動する可能性がある状況で、Draw() を使用してカスタム オーバーレイ コンテンツを表示することは避けます。ユーザーが動かすたびに地図が再描画されるため、移動の最中にオーバーレイ コンテンツを配置しようとすると、遅延やスタッタリング(視覚的な途切れ)が生じる可能性があります。ユーザーが地図のパンやズームを停止してから、オーバーレイ コンテンツを追加または削除します。

Draw メソッドで負荷の大きいオペレーションを回避する

一般的に、Draw() メソッドでは、負荷の大きい非描画オペレーションを回避することをおすすめします。たとえば、Draw() メソッドのコードでは、次のことは避けてください。

  • 大量のコンテンツを返すクエリ
  • 表示されるデータの大幅な変更
  • 多数のドキュメント オブジェクト モデル(DOM)要素の操作

このようなオペレーションでは、地図のレンダリング時にパフォーマンスが低下し、遅延やスタッタリングが生じることがあります。

マーカーにラスター画像を使用する

マーカーを追加して地図上の場所を識別する際に、.PNG 形式または .JPG 形式の画像などのラスター画像を使用します。Scalable Vector Graphics(SVG)画像は使用しないでください。SVG 画像をレンダリングすると、地図が再描画される際に遅延が発生する場合があります。

マーカーを最適化する

最適化すると、多数のマーカーが単一の静的要素としてレンダリングされ、パフォーマンスが向上します。最適化は、多くのマーカーが必要な場合に便利です。デフォルトでは、マーカーの最適化を行うかどうかを Maps JavaScript API が判断します。マーカーが多数ある場合、Maps JavaScript API はマーカーを最適化してレンダリングを試みます。ただし、すべてのマーカーを最適化できるわけではなく、最適化せずにレンダリングしなければならない場合もあります。アニメーション GIF または PNG の場合、または各マーカーを個別の DOM 要素としてレンダリングする必要がある場合、レンダリングの最適化を無効にしてください。

マーカー表示を管理するためにクラスタを作成する

地図上の場所を特定するマーカー表示を管理しやすいように、マーカー クラスタ ライブラリを使用してマーカー クラスタを作成します。マーカー クラスタ ライブラリには、次のオプションがあります。

  • グリッドサイズ: クラスタ内でグループ化するマーカーの数。
  • 最大ズーム: クラスタを表示する最大ズームレベル。
  • マーカー アイコンとして使用するグラフィック画像の画像パス。

消費

予算の作成、割り当ての変更、アラートの設定など、Google Maps Platform の費用の管理については、費用を管理するをご覧ください。