使ってみる

はじめに

Maps Static API は、URL を介した HTTP リクエストに対して、画像(GIF、PNG、JPEG のいずれか)を返します。リクエストごとに、地図の位置、画像のサイズ、ズームレベル、地図の種類、地図上の場所へのオプションのマーカーの配置を指定できます。マーカーに英数字のラベルを追加することもできます。

Maps Static API の画像は、<img> タグの src 属性(または他のプログラミング言語での同等の属性)に埋め込まれます。

このドキュメントでは、Maps Static API の URL の必要な形式と使用可能なパラメータについて説明します。URL を指定する際のヒントとコツについても説明します。

始める前に

このドキュメントは、Maps Static API の画像をウェブページやモバイルアプリに組み込むウェブサイトやモバイル デベロッパーを対象としています。ここでは、この API の使用方法について概説し、利用可能なパラメータに関する参考資料を紹介します。

Maps Static API を使って開発を始める前に、認証要件(API キーが必要)と API の使用量と請求額に関する情報(プロジェクトで課金を有効にする必要があります)を確認します。

URL パラメータ

Maps Static API の URL は、次の形式にする必要があります。

https://maps.googleapis.com/maps/api/staticmap?parameters

ウェブサイトに HTTPS 経由でアクセスする場合は、ブラウザのセキュリティ通知が発生しないように、HTTPS 経由で Maps Static API の画像を読み込む必要があります。リクエストにユーザーの位置情報などの機密性の高いユーザー情報が含まれている場合も、HTTPS を使用することをおすすめします。

https://maps.googleapis.com/maps/api/staticmap?parameters

HTTP と HTTPS のどちらを使用する場合でも、URL パラメータには必須のものと省略可能なものがあります。URL の標準と同様に、すべてのパラメータはアンパサンド(&)文字を使用して区切ります。このドキュメントでは、パラメータとその有効な値のリストを列挙しています。

Maps Static API では、次の URL パラメータを使って地図画像を定義します。

地域パラメータ

  • center(マーカーが存在しない場合は必須)は、地図のすべての端から等距離の地図の中心を定義します。このパラメータでは、地面上の一意の位置を示す場所をカンマで区切った {緯度,経度} のペア(例: 「40.714728,-73.998672」)、または文字列の住所(「市庁舎, ニューヨーク, NY」など)で指定します。詳細については、ロケーションをご覧ください。
  • zoom(マーカーが存在しない場合は必須)は、地図のズームレベルを定義します。これにより、地図の拡大レベルが決まります。このパラメータは、目的の領域のズームレベルに対応する数値を受け取ります。詳細については、ズームレベルをご覧ください。

マップ パラメータ

  • size(必須)は、地図画像の長方形のサイズを定義します。このパラメータは、{horizontal_value}x{vertical_value} という形式の文字列を受け取ります。たとえば、500x400 は幅 500 ピクセル、高さ 400 ピクセルの地図を定義しています。幅が 180 ピクセル未満の地図では、縮小されたサイズの Google ロゴが表示されます。このパラメータは scale パラメータの影響を受けます。最終的な出力サイズは、サイズとスケールの値の積です。
  • scale(省略可)は、返されるピクセル数に影響します。scale=2 は、同じカバレッジ エリアと詳細レベルを維持しながら、scale=1 の 2 倍のピクセルを返します(つまり、地図のコンテンツは変化しません)。これは、高解像度ディスプレイ向けの開発を行う場合に便利です。 デフォルト値は 1 です。指定できる値は 12 です。詳細については、スケール値をご覧ください。
  • format(省略可)は、生成される画像の形式を定義します。Maps Static API では、デフォルトで PNG 画像が作成されます。GIF、JPEG、PNG など、いくつかのファイル形式を使用できます。使用する形式は、画像の表示方法によって異なります。通常、JPEG は圧縮率が高く、GIF と PNG はより詳細な画像を提供します。詳細については、画像形式をご覧ください。
  • maptype(省略可)は、作成する地図のタイプを定義します。maptype の値は roadmapsatellitehybridterrain などです。詳しくは、Maps Static API のマップタイプをご覧ください。
  • language(省略可)は、地図タイルのラベルの表示に使用する言語を定義します。このパラメータは、一部の国タイルでのみサポートされています。リクエストされた特定の言語がタイルセットでサポートされていない場合は、そのタイルセットのデフォルトの言語が使用されます。
  • region(省略可)は、地政学的な配慮に基づいて、表示する適切な境界を定義します。ccTLD(「トップレベル ドメイン」)の 2 文字の値として指定された地域コードを受け入れます。サポートされている地域については、Google Maps Platform のサポート状況をご覧ください。

特徴パラメータ

  • map_id(省略可)は、特定の地図の識別子を指定します。マップ ID は地図を特定のスタイルまたは対象物に関連付けます。また、地図の初期化に使用された API キーと同じプロジェクトに属している必要があります。詳しくは、マップ ID の使用をご覧ください。
  • markers(省略可)は、指定した位置の画像に添付する 1 つ以上のマーカーを定義します。このパラメータは、パイプ文字(|)で区切られたパラメータを含む 1 つのマーカー定義を受け取ります。スタイルが同じであれば、同じ markers パラメータ内に複数のマーカーを配置できます。異なるスタイルのマーカーを追加するには、markers パラメータを追加します。なお、地図にマーカーを使用する場合、center パラメータと zoom パラメータ(通常は必須)を指定する必要はありません。詳しくは、Maps Static API のマーカーをご覧ください。
  • path(省略可)は、指定した位置の画像に重ねる 2 つ以上の接続されたポイントを 1 つのパスとして定義します。このパラメータは、パイプ文字(|)で区切られた地点の定義の文字列か、パスの場所の宣言内で enc: 接頭辞を使用してエンコードされたポリラインを受け取ります。path パラメータを追加して、追加のパスを指定できます。なお、地図のパスを指定する場合、center パラメータと zoom パラメータ(通常は必須)を指定する必要はありません。詳しくは、Maps Static API のパスをご覧ください。
  • visible(省略可)は、マーカーやその他のインジケーターは表示されないものの、マップ上に残す必要がある 1 つ以上の場所を指定します。このパラメータを使用すると、Maps Static API に特定の対象物や地図上の場所を表示できます。
  • style(省略可)は、地図の特定の対象物(道路、公園、その他の対象物)の表示を変更するカスタム スタイルを定義します。このパラメータは、スタイル設定する対象物を指定する feature 引数と element 引数と、選択した対象物に適用する一連のスタイル処理を取ります。style パラメータを追加することで、複数のスタイルを指定できます。詳しくは、スタイル付き地図に関するガイドをご覧ください。

鍵パラメータと署名パラメータ

  • key(必須)を使用すると、Google Cloud コンソールでアプリケーションの API 使用状況をモニタリングできます。また、必要な場合に Google からアプリケーションに関する連絡が届くようになります。詳しくは、Maps Static API で API キーを使用するをご覧ください。
  • signature推奨): 該当 API キーを使用してリクエストを生成するサイトは、いずれも許可されたサイトであることを確認するために使用するデジタル署名です。デジタル署名のないリクエストは失敗する可能性があります。詳しくは、デジタル署名を使用するをご覧ください。

URL のサイズ制限

Maps Static API の URL は、サイズが 16,384 文字に制限されています。実際には、多数のマーカーとパスを含む複雑な地図を作成しない限り、通常これより長い URL は必要ありません。

パラメータの使用

Maps Static API は、パラメータ化された URL のみで構成されているため、比較的簡単に使用できます。このセクションでは、これらのパラメータを使用して URL を作成する方法について説明します。

位置の指定

Maps Static API では、地図上の場所を正確に識別でき、(center パラメータを使用して)地図を正しい場所にフォーカスしたり、任意の目印を地図上の場所に配置したり(markers パラメータを使用)する必要があります。Maps Static API では、数値(緯度と経度の値)または文字列(住所)を使用して場所を指定します。これらの値は、ジオコーディングされたビジネス情報を表します。

一部のパラメータ(markers パラメータや path パラメータなど)は複数の場所を使用します。そのような場合、ロケーションはパイプ(|)文字で区切られます。

緯度と経度

緯度と経度は、小数点以下 6 桁までの精度を持つカンマ区切りのテキスト文字列内の数値を使用して定義されます。たとえば、「40.714728,-73.998672」は有効なジオコーディング値です。小数点以下 6 桁を超える精度は無視されます。

経度の値は、グリニッジ子午線がある英国のグリニッジからの距離に基づいています。グリニッジは緯度 51.477222 にあるため、グリニッジを地図の中心に表示するには、center の値 51.477222,0 を入力します。

イギリス、グリニッジ

緯度と経度の値は、地表の有効な場所に対応している必要があります。緯度には -9090 の値を指定できますが、経度には -180180 の任意の値を指定できます。無効な緯度または経度の値を指定すると、リクエストが不適切なリクエストとして拒否されます。

住所

多くの場合、ユーザーは緯度と経度で話すのではなく、「住所」で場所を表します。住所を地理的ポイントに変換するプロセスはジオコーディングと呼ばれています。有効な住所を指定すると、Maps Static API サービスはジオコーディングを実行できます。

緯度と経度を指定できるパラメータには、住所を示す文字列を代わりに指定することもできます。Google が住所をジオコーディングし、マーカーの配置や場所の指定に使用する緯度と経度の値を Maps Static API サービスに提供します。文字列は URL エンコードする必要があります。たとえば、「City Hall, New York, NY」のような住所は「City+Hall,New+York,NY」に変換します。

なお、住所には、番地などの正確な場所、名前のある経路などのポリライン、または都市、国、国立公園などの多角形のエリアのいずれかが反映されます。ポリラインやポリゴンの結果の場合、Maps Static API サーバーは、ラインまたはエリアの中心点を住所の中心として使用します。住所がどのようにジオコーディングされるかについて疑問がある場合は、こちらの ジオコーディング ユーティリティを使用して、その住所をテストできます。

次のサンプルは、カリフォルニア州バークレーの静的地図画像を生成します。

https://maps.googleapis.com/maps/api/staticmap?center=Berkeley,CA&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

カリフォルニア州バークリー

ズームレベル

Google マップの地図には、現在のビューの解像度を定義する整数の「ズームレベル」があります。デフォルトの roadmap ビュー内では、0(最小のズームレベル、1 つの地図で世界全体を表示)から 21+(道路や個々の建物まで表示)のズームレベルを設定できます。ズームレベル 17 付近の地図に、建物の枠線がある場合は表示されます。この値は地域によって異なり、データの進化とともに時間とともに変化する可能性があります。

Google マップでは、地球全体を表示するようにズームレベル 0 が設定されています。ズームレベルが上がるごとに、水平方向と垂直方向の両方で精度が 2 倍になります。この方法について詳しくは、Google Maps JavaScript API のドキュメントをご覧ください。

注: 地球上のすべての場所ですべてのズームレベルが表示されるわけではありません。地球の一部のデータは他の場所よりも細かい粒度であるため、ズームレベルは場所によって異なります。

地図タイルが存在しないズームレベルのリクエストを送信すると、Maps Static API は代わりに空白の画像を返します。

次のリストは、各ズームレベルで表示されるおおよその詳細度を示しています。

  • 1: 世界
  • 5: 大陸
  • 10: 都市
  • 15: 通り
  • 20: 建物

この例では、2 つのマンハッタンの地図をリクエストしています。center 値は同じですが、ズームレベルがそれぞれ 12 と 14 になっています。

https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

縮小したマンハッタン  拡大したマンハッタン

画像サイズ

size パラメータは center と組み合わせて使用し、地図の表示範囲を定義します。また、scale 値(デフォルトでは 1)を掛けた場合の地図の出力サイズをピクセル単位で定義します。

次の表は、各 scale 値での size パラメータの最大許容値を示しています。

scale=1 scale=2
640x640 640x640(1280x1280 ピクセルを返します)

次の例では、ズームレベル 1 の赤道における地球の「スライス」をリクエストしています。

https://maps.googleapis.com/maps/api/staticmap?center=0,0&zoom=1&size=400x50&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

赤道

この例では、同じ地域を中心とする 100 x 100 ピクセルの小さな地図をリクエストしています。Google ロゴが小さくなっていることに注意してください。

https://maps.googleapis.com/maps/api/staticmap?center=0,0&zoom=1&size=100x100&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

小さな赤道のマップ

値のスケーリング

Maps Static API の size パラメータは、地図のサイズをピクセル単位で定義します。したがって、size=200x200 の地図は 200 ピクセル x 200 ピクセルとして返されます。通常、1 インチあたり約 100 ピクセル(ppi)の LCD パソコンのモニターでは、200x200 の地図で各寸法が約 2 インチになります。

しかし、モバイル デバイスは、ピクセル密度が 300 ppi を超える高解像度画面が増えています。これは次のいずれかです。

  • 200×200 ピクセルの画像のサイズをわずか 0.7 インチに縮小し、ラベルやアイコンが小さすぎて読みにくいようにする。
  • 読みやすくするために画像を拡大縮小(ズーム)すると、画像が不鮮明になったりモザイク状になったりします。
小さすぎる ぼやけている

モバイル デバイス向けに開発する際には、API の scale パラメータを使用して高解像度の地図画像を返すことで、上記の問題を解決できます。scale 値に size を掛けて、地図の実際の出力サイズ(ピクセル単位)を決定します。地図のカバレッジ エリアは変更されません。scale のデフォルト値は 1 です。指定できる値は 1 と 2 です。

たとえば、縮尺の値を 2 にすると、縮尺が指定されていないリクエストと同じ地図表示可能領域が返されますが、各寸法のピクセル数は 2 倍になります。これには道路とラベルが含まれ、高解像度の小さな画面でも、ブラウザで拡大縮小したときにも判読できます。

150x150 150x150&scale=2

このような画像は、CSS を使用して高さと幅を設定して img タグまたは div タグに挿入すると、パソコンのブラウザでも適切に機能します。ブラウザは、画質を損なうことなく、画像を適切なサイズに縮小します。

次の表に、3 種類の画像リクエストを示します。

  • 1 つ目は、100×100 の画像で、スケール値が指定されていません。デスクトップでは正しく表示されますが、モバイル デバイスでは読み取れません。
  • 2 つ目は地図サイズが 2 倍になります。パソコン上では、CSS により指定された 100×100 の img 要素に収まりますが、画像を縮小すると、道路やラベルが小さすぎます。モバイル デバイスでは画像は適切なサイズですが、この場合も道路やラベルが判読できません。
  • 3 つ目のリクエストは、scale=2 を含む 100x100 の地図です。200 ピクセルの詳細で返されます。パソコン側では完全に縮小されるので、元の 100×100 リクエストと区別がつきません。一方、モバイル ブラウザでは、API によって返される追加の解像度を利用できます。
画像リクエスト
デバイス 100x100 200x200 100x100&scale=2
デスクトップ

img タグの height="100px" および
width="100px" を使用)
高解像度
(シミュレーション)

モバイルおよび高解像度ディスプレイ向けの開発について詳しくは、以下をお読みください。

イメージの形式

画像は、一般的なウェブ グラフィック形式(GIFJPEGPNG)で返されます。format パラメータは次のいずれかの値を取ります。

  • png8 または png(デフォルト)は、8 ビットの PNG 形式を指定します。
  • png32 は 32 ビットの PNG 形式を指定します。
  • gifGIF 形式を指定します。
  • jpgJPEG の圧縮形式を指定します。
  • jpg-baseline は、非プログレッシブ JPEG 圧縮形式を指定します。

次の例では、gif 形式と png 形式のマップをリクエストしています。

  https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&format=gif&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
  https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&format=png&&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

通常、jpgjpg-baseline は画像サイズが最も小さくなりますが、「不可逆」圧縮が使用されるため、画質が低下する可能性があります。gifpng8png32 は可逆圧縮を行います。

ほとんどの JPEG 画像はプログレッシブです。つまり、粗い画像を先に読み込み、データが増えるにつれて画像の解像度を調整していきます。画像をウェブページにすばやく読み込めるため、現在、JPEG で最も広く使用されています。ただし、JPEG の用途によっては、非プログレッシブ(ベースライン)画像が必要になる場合があります。そのような場合は、非プログレッシブである jpg-baseline 形式を使用することをおすすめします。

地図タイプ

Maps Static API では、次の形式で地図が作成されます。

  • roadmap(デフォルト)は、Google マップのウェブサイトで通常表示される標準のロードマップ画像を指定します。maptype 値が指定されていない場合、Maps Static API はデフォルトで roadmap タイルを配信します。
  • satellite は衛星画像を指定します。
  • terrain は、地形と植生を表示する物理的な立体図の画像を指定します。
  • hybrid: 衛星画像と道路地図画像のハイブリッドを指定し、衛星画像の上に主要な道路や場所の名前の透明なレイヤを表示します。

このコード例では、ロードマップと地形タイプの違いを確認できます。

https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=roadmap&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=terrain&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

マンハッタンの通常のマップ  マンハッタンの地形図

地図+写真では、衛星画像と有名なロードマップ対象物を使って組み合わせ地図を作成します。次の例は、航空写真と地図+写真のタイプを示しています。

https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=satellite&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=hybrid&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

マンハッタンの航空写真  マンハッタンの地形図

スタイル付き地図

独自のスタイルを適用して、標準の Google マップの表示をカスタマイズします。 詳しくは、スタイル付き地図に関するガイドをご覧ください。

マーカー

markers パラメータは、一連の位置に 1 つ以上のマーカー(地図上のピン)のセットを定義します。1 つの markers 宣言内で定義する各マーカーは、同じビジュアル スタイルを示す必要があります。異なるスタイルのマーカーを表示する場合は、別々のスタイル情報とともに複数の markers パラメータを指定する必要があります。

markers パラメータは、次の形式の一連の値割り当て(マーカー記述子)を受け取ります。

markers=markerStyles|markerLocation1| markerLocation2|... など

markerStyles のセットは markers 宣言の先頭で宣言します。これは、パイプ文字(|)で区切られた 0 個以上のスタイル記述子で構成され、その後にパイプ文字(|)で区切られた 1 つ以上の場所のセットで構成されます。

スタイル情報と位置情報はどちらもパイプ文字で区切られるため、スタイル情報はどのマーカー記述子でも最初に記述する必要があります。Maps Static API サーバーがマーカー記述子で場所を見つけると、他のすべてのマーカー パラメータも場所であると想定されます。

マーカーのスタイル

マーカー スタイル記述子のセットは、パイプ(|)文字で区切られた一連の値割り当てです。このスタイル記述子では、マーカー記述子内にマーカーを表示する際に使用する視覚的属性を定義します。これらのスタイル記述子には、次の Key-Value 割り当てが含まれます。

  • size:(省略可)は、{tiny, mid, small} セットからマーカーのサイズを指定します。size パラメータが設定されていない場合、マーカーはデフォルト(通常)サイズで表示されます。
  • color:(省略可)は、24 ビットカラー(例: color=0xFFFFCC)または {black, brown, green, purple, yellow, blue, gray, orange, red, white} のセットから事前定義された色を指定します。

    透明度(32 ビットの 16 進数色値で指定)はマーカーではサポートされていませんが、パスではサポートされています。

  • label:(省略可)は、{A ~ Z、0 ~ 9} から 1 つの大文字uppercase英数字を指定します。(このバージョンの API では、大文字の使用が必須になりました)。なお、alphanumeric-character パラメータを表示できるのは、デフォルト サイズのマーカーと mid サイズのマーカーのみです。 tiny マーカーと small マーカーには、英数字を表示できません。

マーカーのスケーリング

scale 値にマーカー画像のサイズを掛けて、マーカーの実際の出力サイズ(ピクセル単位)を生成します。デフォルトのスケール値は 1 です。指定できる値は 1、2、4 です。

画像のピクセルサイズの上限は、スケーリングが適用されたに適用されます。たとえば、マーカーを scale:2 に設定した場合、スケーリング後にサイズが 4,096 ピクセル未満に減らす限り、マーカーの最大サイズである 4,096 ピクセルより大きくすることができます。高解像度の地図を表示する場合は、マーカーのスケーリングと地図のスケーリングを組み合わせて使用します。

マーカーの位置

各マーカー記述子には、地図上のマーカーの配置場所を定義する 1 つ以上の場所のセットを含める必要があります。これらの場所は、緯度と経度の値または住所として指定できます。これらのロケーションはパイプ文字(|)で区切ります。

: ジオコーディングが必要な方法(人が読める住所文字列やポリラインなど)を使用してマーカーの位置を指定する場合、リクエストできるマーカーは最大 15 個に制限されます。この制限は、ジオコーディングが必要なマーカーの位置にのみ適用されます。緯度と経度の座標で指定されたマーカーの位置には適用されません。

位置パラメータは、地図上のマーカーの位置を定義します。center パラメータと zoom パラメータが指定されている場合、場所が地図外にあると、作成された画像にそのマーカーは表示されません。ただし、これらのパラメータが指定されていない場合、Maps Static API サーバーは、指定されたマーカーを含む画像を自動的に作成します。(暗黙的なポジショニングをご覧ください)。

マーカーの宣言の例を以下に示します。ここでは 1 つのスタイルセットと 3 つの場所を定義しています。

https://maps.googleapis.com/maps/api/staticmap?center=Williamsburg,Brooklyn,NY&zoom=13&size=400x400&
markers=color:blue%7Clabel:S%7C11211%7C11206%7C11222&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

ブルックリンの 3 つの郵便番号

異なるスタイルのマーカーを定義するには、複数の markers パラメータを指定する必要があります。この markers パラメータのセットは 3 つのマーカーを定義します。62.107733、-145.5419 の「S」というラベルの付いた青色のマーカー、「AK」の小さな緑色のマーカー、「Tok, AK」にある「C」という中サイズの黄色のマーカーです。以下のマーカーの例を以下に示します。

https://maps.googleapis.com/maps/api/staticmap?center=63.259591,-144.667969&zoom=6&size=400x400
&markers=color:blue%7Clabel:S%7C62.107733,-145.541936&markers=size:tiny%7Ccolor:green%7CDelta+Junction,AK
&markers=size:mid%7Ccolor:0xFFFF00%7Clabel:C%7CTok,AK"&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

異なるマーカーを付けたアラスカの 3 つの町

カスタム アイコン

Google のマーカー アイコンを使用する代わりに、独自のカスタム アイコンを使用することもできます。カスタム アイコンは、markers パラメータの icon 記述子を使用して指定します。次に例を示します。

markers=icon:URLofIcon|markerLocation

URL を使用して icon を指定します(URL エンコードする必要があります)。https://goo.gl などの短縮 URL サービスで作成された URL を使用できます。ほとんどの短縮 URL サービスには、URL が自動的にエンコードされるという利点があります。

カスタム アイコンのアンカー ポイントを指定できます。アンカー ポイントは、指定された markers の位置を基準としてアイコンがどのように配置されるかを設定します。デフォルトでは、カスタム アイコンのアンカー ポイントはアイコン画像の下中央です。icon とともに anchor 記述子を使用して、別のアンカー ポイントを指定できます。anchor は、アイコンの x、y 点(10,5 など)として設定するか、topbottomleftrightcentertoplefttoprightbottomleftbottomright のいずれかの値を使用して、事前定義された配置として設定します。次に例を示します。

markers=anchor:bottomright|icon:URLofIcon|markerLocation1|markerLocation2

1 回のリクエストで最大 5 つのカスタム アイコンを使用できます。この制限は、地図上で指定できるスポットが 5 か所に制限されるということではありません。各アイコンは、地図上の複数の markers の場所で使用できます。

アイコンの形式:

  • アイコンの画像は PNG、JPEG、GIF のいずれかの形式を使用できますが、PNG が推奨されます。
  • アイコンの最大サイズは 4,096 ピクセル(スクエア画像の場合は 64×64)です。
カスタム アイコンの例

例 1 では、カスタム アイコンを作成し、アンカーを使用してアイコンの配置を行います。

https://maps.googleapis.com/maps/api/staticmap?&size=600x400&style=visibility:on
&style=feature:water%7Celement:geometry%7Cvisibility:on
&style=feature:landscape%7Celement:geometry%7Cvisibility:on
&markers=anchor:32,10%7Cicon:https://goo.gl/5y3S82%7CCanberra+ACT
&markers=anchor:topleft%7Cicon:http://tinyurl.com/jrhlvu6%7CMelbourne+VIC
&markers=anchor:topright%7Cicon:https://goo.gl/1oTJ9Y%7CSydney+NSW&key=YOUR_API_KEY
&signature=YOUR_SIGNATURE

オーストラリアの 3 つの町。別々のカスタム アイコンがアンカーで配置されています。

例 2 では、例 1 と同じカスタム アイコンを作成していますが、アンカーを使ってアイコンの位置を設定していません。デフォルトのアンカー(下中央)を使用します。

https://maps.googleapis.com/maps/api/staticmap?&size=600x400&style=visibility:on
&style=feature:water%7Celement:geometry%7Cvisibility:on
&style=feature:landscape%7Celement:geometry%7Cvisibility:on
&markers=icon:https://goo.gl/5y3S82%7CCanberra+ACT
&markers=icon:http://tinyurl.com/jrhlvu6%7CMelbourne+VIC
&markers=icon:https://goo.gl/1oTJ9Y%7CSydney+NSW&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

オーストラリア 3 つの町、デフォルトの配置で異なるカスタム アイコン。

Maps Static API のパス

path パラメータは、地図画像に重ねるパスで接続された 1 つ以上の場所のセットを定義します。path パラメータは、次の形式の一連の値割り当て(パス記述子)を受け取ります。

path=pathStyles|pathLocation1|pathLocation2|... など

両方のパスポイントはパイプ文字(|)で区切っています。スタイル情報とポイント情報はどちらもパイプ文字で区切られているため、スタイル情報はどのパス記述子でも最初に記述する必要があります。Maps Static API サーバーがパス記述子内で場所を見つけると、他のすべてのパスパラメータも場所であると想定されます。

パスのスタイル

パススタイル記述子のセットは、パイプ(|)文字で区切られた一連の値割り当てです。このスタイル記述子は、パスの表示時に使用する視覚的属性を定義します。これらのスタイル記述子には、次の Key-Value 割り当てが含まれます。

  • weight:(省略可)は、パスの太さをピクセル単位で指定します。weight パラメータが設定されていない場合、パスはデフォルトの太さ(5 ピクセル)で表示されます。
  • color:(省略可)は、24 ビット(color=0xFFFFCC など)または 32 ビットの 16 進数値(color=0xFFFFCCFF など)、または {black, brown, green, purple, yellow, blue, gray, orange, red, white} のセットから色を指定します。

    32 ビットの 16 進数値を指定した場合、最後の 2 文字は 8 ビットのアルファ透明度値を指定します。この値は、00(完全に透明)と FF(完全に不透明)の間になります。透明度はパスではサポートされますが、マーカーではサポートされません。

  • fillcolor:(省略可)は、パスがポリゴンの領域を引くことと、その領域内のオーバーレイとして使用する塗りつぶしの色を指定します。後続の位置セットは「クローズド」ループにする必要はありません。Maps Static API サーバーは自動的に最初と最後のポイントを結合します。ただし、塗りつぶしエリアの外側にあるストロークは、開始位置と終了位置を具体的に指定しない限り閉じません。
  • geodesic:(省略可)は、リクエストされたパスを地球の湾曲に沿った測地線として解釈するよう指定します。false の場合、パスは画面スペース上で直線としてレンダリングされます。デフォルトは false です。

パスの定義の例を次に示します。

  • 細い青い線、不透明度 50%: path=color:0x0000ff80|weight:1
  • 赤の実線: path=color:0xff0000ff|weight:5
  • 太い白い線: path=color:0xffffffff|weight:10

これらのパスのスタイルは省略可能です。デフォルトの属性が必要な場合は、パス属性の定義を省略できます。その場合、パス記述子の最初の「引数」は、最初に宣言されたポイント(位置)ではなく、

経路ポイント

パスを描画するには、path パラメータに 2 つ以上のポイントを渡す必要もあります。Maps Static API は、指定された順序でこれらのポイントに沿ってパスを接続します。それぞれのpathPoint は、pathDescriptor で記述します。各経路は、|(パイプ)文字で区切ります。

次の例では、ニューヨーク市のユニオン スクエアからタイムズ スクエアまで、デフォルトの不透明度 50% の青いパスを定義します。

ユニオン スクエアからタイムズ スクエアまでのパス

path パラメータの詳細は次のとおりです。

path=color:0x0000ff|weight:5|40.737102,-73.990318|40.749825,-73.987963|40.752946,-73.987384|40.755823,-73.986397

次の例では、代わりに同じパスを定義し、不透明度 100% の赤い実線を定義しています。

ユニオン スクエアからタイムズ スクエアまでのパス

この path パラメータの詳細は次のとおりです。

path=color:0xff0000ff|weight:5|40.737102,-73.990318|40.749825,-73.987963|40.752946,-73.987384|40.755823,-73.986397

次の例では、マンハッタン内のポリゴンの領域を定義し、一連の交差点を場所として渡しています。

ユニオン スクエアからタイムズ スクエアまでのパス

この path パラメータの詳細は次のとおりです。

path=color:0x00000000|weight:5|fillcolor:0xFFFF0033|8th+Avenue+%26+34th+St,New+York,NY|\
8th+Avenue+%26+42nd+St,New+York,NY|Park+Ave+%26+42nd+St,New+York,NY,NY|\
Park+Ave+%26+34th+St,New+York,NY,NY

パス自体は非表示にし、ポリゴン領域の不透明度は 15% に設定しています。

エンコードされたポリライン

一連の場所ではなく、path の場所の宣言内で enc: 接頭辞を使用して、パスをエンコードされたポリラインとして宣言することもできます。

次のサンプルは、アラスカ ハイウェイのコースを、ブリティッシュ コロンビア州ドーソン クリークからアラスカ州デルタ ジャンクションまで、エンコードされたポリラインで表示しています。

https://maps.googleapis.com/maps/api/staticmap
?size=400x400&center=59.900503,-135.478011&zoom=4
&path=weight:3%7Ccolor:orange%7Cenc:_fisIp~u%7CU}%7Ca@pytA_~b@hhCyhS~hResU%7C%7Cx@oig@rwg@amUfbjA}f[roaAynd@%7CvXxiAt{ZwdUfbjAewYrqGchH~vXkqnAria@c_o@inc@k{g@i`]o%7CF}vXaj\h`]ovs@?yi_@rcAgtO%7Cj_AyaJren@nzQrst@zuYh`]v%7CGbldEuzd@%7C%7Cx@spD%7CtrAzwP%7Cd_@yiB~vXmlWhdPez\_{Km_`@~re@ew^rcAeu_@zhyByjPrst@ttGren@aeNhoFemKrvdAuvVidPwbVr~j@or@f_z@ftHr{ZlwBrvdAmtHrmT{rOt{Zz}E%7Cc%7C@o%7CLpn~AgfRpxqBfoVz_iAocAhrVjr@rh~@jzKhjp@``NrfQpcHrb^k%7CDh_z@nwB%7Ckb@a{R%7Cyh@uyZ%7CllByuZpzw@wbd@rh~@%7C%7CFhqs@teTztrAupHhyY}t]huf@e%7CFria@o}GfezAkdW%7C}[ocMt_Neq@ren@e~Ika@pgE%7Ci%7CAfiQ%7C`l@uoJrvdAgq@fppAsjGhg`@%7ChQpg{Ai_V%7C%7Cx@mkHhyYsdP%7CxeA~gF%7C}[mv`@t_NitSfjp@c}Mhg`@sbChyYq}e@rwg@atFff}@ghN~zKybk@fl}A}cPftcAite@tmT__Lha@u~DrfQi}MhkSqyWivIumCria@ciO_tHifm@fl}A{rc@fbjAqvg@rrqAcjCf%7Ci@mqJtb^s%7C@fbjA{wDfs`BmvEfqs@umWt_Nwn^pen@qiBr`xAcvMr{Zidg@dtjDkbM%7Cd_@
&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

アラスカ ハイウェイ

標準パスと同様に、fillcolor 引数が path パラメータに渡された場合、エンコードされたポリライン パスでもポリゴンの領域を区切ることができます。

次の例では、ニューヨーク州ブルックリンを多角形状の領域として定義しています。

https://maps.googleapis.com/maps/api/staticmap
?size=400x400&center=40.653279,-73.959816&zoom=11
&path=fillcolor:0xAA000033%7Ccolor:0xFFFFFF00%7Cenc:}zswFtikbMjJzZ%7CRdPfZ}DxWvBjWpF~IvJnEvBrMvIvUpGtQpFhOQdKpz@bIx{A%7CPfYlvApz@bl@tcAdTpGpVwQtX}i@%7CGen@lCeAda@bjA%60q@v}@rfAbjA%7CEwBpbAd_@he@hDbu@uIzWcWtZoTdImTdIwu@tDaOXw_@fc@st@~VgQ%7C[uPzNtA%60LlEvHiYyLs^nPhCpG}SzCNwHpz@cEvXg@bWdG%60]lL~MdTmEnCwJ[iJhOae@nCm[%60Aq]qE_pAaNiyBuDurAuB }}Ay%60@%7CEKv_@?%7C[qGji@lAhYyH%60@Xiw@tBerAs@q]jHohAYkSmW?aNoaAbR}LnPqNtMtIbRyRuDef@eT_z@mW_Nm%7CB~j@zC~hAyUyJ_U{Z??cPvg@}s@sHsc@_z@cj@kp@YePoNyYyb@_iAyb@gBw^bOokArcA}GwJuzBre@i\tf@sZnd@oElb@hStW{]vv@??kz@~vAcj@zKa%60Atf@uQj_Aee@pU_UrcA
&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

ブルックリンのエンコード ポリライン(署名あり)

ビューポート

visible パラメータを使用して表示位置を指定することで、画像でビューポートを指定できます。visible パラメータは、既存の場所を表示したままの地図を作成するよう Maps Static API サービスに指示します。(このパラメータを既存のマーカーやパスと組み合わせて、表示可能な領域を定義することもできます)。この方法でビューポートを定義すると、正確なズームレベルを指定する必要がなくなります。

次の例では、マサチューセッツ州ボストンを中心とした地図をリクエストし、MIT とマサチューセッツ州ケンブリッジのハーバード広場の両方を含む地図を作成しました。

https://maps.googleapis.com/maps/api/staticmap?center=Boston,MA
&visible=77+Massachusetts+Ave,Cambridge,MA%7CHarvard+Square,Cambridge,MA&size=512x512&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

ケンブリッジのマップ

地図の暗黙的な配置

通常は、URL パラメータ centerzoom を指定して、生成された地図の位置とズームレベルを定義する必要があります。ただし、markerspathvisible のパラメータを指定した場合は、Maps Static API を使って、これらの要素の位置の評価に基づいて、適切な中心とズームレベルを暗黙的に決定できます。

2 つ以上の要素を指定すると、Maps Static API は適切な中心とズームレベルを判断し、含まれる要素に十分な余白を確保します。次のサンプルは、カリフォルニア州サンフランシスコ、オークランド、サンノゼを含む地図を表示します。

https://maps.googleapis.com/maps/api/staticmap?size=512x512&maptype=roadmap\
&markers=size:mid%7Ccolor:red%7CSan+Francisco,CA%7COakland,CA%7CSan+Jose,CA&key=YOUR_API_KEY&signature=YOUR_SIGNATURE

ロードマップ

画像サイズを大きくする

640 x 640 ピクセル(またはスケール値が 2 で 1,280 x 1,280 ピクセル)を超えるサイズの画像が必要な場合は、以下の情報を添えて サポートチームにお問い合わせください。

  1. ユースケースと、大きいサイズの画像が必要な理由
  2. 他の Google Maps Platform API(Maps JavaScript API、Maps Embed API、Maps SDK for Android、Maps SDK for iOS)の使用を検討しているかどうか、およびそれらがニーズに合わない理由。
  3. 大きなサイズの画像の使用方法を示すスクリーンショット、モック、サンプル。
  4. 大きいサイズの画像の推定月間使用量。

ご提供いただいた情報に基づいてリクエストを審査し、お客様のユースケースが Google Maps Platform 利用規約に準拠しているかどうかを判断いたします。

提供できる最大サイズは 2048 x 2048 ピクセルです。

トラブルシューティングとサポート

Maps Static API の使用方法について詳しくは、サポートページをご覧ください。

問題が発生すると、Maps Static API からエラーまたは警告が返されることがあります。特に、地図に欠落しているものがある場合は、警告を確認する必要があります。また、新しいアプリをリリースする前に警告を確認することもおすすめします。この警告は HTTP ヘッダーに表示されるため、すぐにはわからない場合があります。詳細については、エラーと警告に関するガイドをご覧ください。