はじめに
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 経由でアクセスする場合は、ブラウザのセキュリティ通知を回避するために、Maps Static API の画像も HTTPS 経由で読み込む必要があります。リクエストにユーザーの位置情報などの機密性の高いユーザー情報が含まれている場合も、HTTPS をおすすめします。
https://maps.googleapis.com/maps/api/staticmap?parameters
HTTP と HTTPS のどちらを使用する場合でも、特定の URL パラメータは必須ですが、一部は省略可能です。URL の標準規則と同様に、すべてのパラメータはアンパサンド(&)文字を使用して区切ります。パラメータとその有効な値のリストについては、このドキュメントをご覧ください。
Maps Static API では、次の URL パラメータを使用して地図画像を定義します。
位置パラメータ
center(マーカーが存在しない場合は必須)は、地図の中心を定義します。この中心は、地図のすべての端から等距離にあります。このパラメータには、カンマ区切りの {緯度,経度} のペア(例: "40.714728,-73.998672")または文字列アドレス(例: "city hall, new york, ny")として、地球上の固有の場所を識別する位置を指定します。詳細については、ロケーションをご覧ください。zoom(マーカーが存在しない場合は必須)は、地図のズームレベルを定義します。これにより、地図の拡大レベルが決まります。このパラメータには、目的の地域のズームレベルに対応する数値を指定します。詳細については、ズームレベルをご覧ください。
マップ パラメータ
size(必須)は、地図画像の長方形のサイズを定義します。このパラメータは、{horizontal_value}x{vertical_value}形式の文字列を受け取ります。たとえば、500x400は幅 500 ピクセル、高さ 400 ピクセルの地図を定義します。幅が 180 ピクセル未満の地図では、縮小された Google ロゴが表示されます。このパラメータはscaleパラメータの影響を受けます。最終的な出力サイズは、サイズとスケールの値の積になります。scale(省略可)は、返されるピクセル数に影響します。scale=2は、同じカバレッジ エリアと詳細レベルを維持しながら(つまり、地図の内容は変更せずに)、scale=1の 2 倍のピクセル数を返します。これは、高解像度ディスプレイ向けに開発する場合に便利です。 デフォルト値は1です。指定できる値は1と2です。詳細については、スケール値をご覧ください。format(省略可): 生成される画像の形式を定義します。デフォルトでは、Maps Static API は PNG 画像を作成します。GIF、JPEG、PNG 形式など、複数の形式を使用できます。どの形式を使用するかは、画像をどのように表示するかによって異なります。通常、JPEG は圧縮率が高く、GIF と PNG は詳細度が高くなります。詳細については、画像形式をご覧ください。maptype(省略可)は、作成する地図のタイプを定義します。maptype には、roadmap、satellite、hybrid、terrainなど、いくつかの値を指定できます。詳しくは、Maps Static API の地図タイプをご覧ください。colorscheme(省略可)は、地図のカラーパターンを定義します。指定できる値はlight(デフォルト)とdarkです。ダークモードのカラーパターンは、roadmapとterrainの地図タイプに適用されます。詳細については、モードと地図タイプについてをご覧ください。language(省略可)は、地図タイルにラベルを表示する際に使用する言語を定義します。このパラメータは、一部の国のタイルでのみサポートされています。リクエストされた特定の言語がタイルセットでサポートされていない場合は、そのタイルセットのデフォルト言語が使用されます。region(省略可)は、地政学的な配慮に基づいて、表示する適切な境界を定義します。2 文字の ccTLD(「トップレベル ドメイン」)値として指定された地域コードを受け入れます。サポートされている地域は、Google Maps Platform のサポート状況でご確認いただけます。
特徴パラメータ
map_id(省略可)は、特定の地図の識別子を指定します。マップ ID は、地図を特定のスタイルまたは機能に関連付けるもので、地図の初期化に使用される API キーと同じプロジェクトに属している必要があります。詳細については、マップ ID を使用するをご覧ください。markers(省略可)は、指定した位置で画像に付加する 1 つ以上のマーカーを定義します。このパラメータは、パイプ文字(|)で区切られたパラメータを持つ単一のマーカー定義を受け取ります。同じスタイルであれば、複数のマーカーを同じmarkersパラメータ内に配置できます。異なるスタイルのマーカーを追加するには、markersパラメータを追加します。地図にマーカーを指定する場合は、通常は必須のcenterパラメータとzoomパラメータを指定する必要はありません。詳細については、Maps Static API のマーカーをご覧ください。path(省略可)は、指定された位置で画像にオーバーレイする 2 つ以上の接続されたポイントの単一パスを定義します。このパラメータは、パイプ文字(|)で区切られたポイント定義の文字列、またはパスの場所宣言内で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 を入力すると、グリニッジが地図の中心になります。
緯度と経度の値は、地球上の有効な場所に対応している必要があります。緯度は -90~90 の任意の値、経度は -180~180 の任意の値を取ることができます。無効な緯度または経度の値を指定すると、リクエストは不正なリクエストとして拒否されます。
アドレス
ほとんどの人は緯度と経度ではなく、住所を使用して場所を表します。住所を地理的な地点に変換する処理を「ジオコーディング」と呼びます。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 で地球全体が表示されます。ズームレベルを 1 つ上げるごとに、水平方向と垂直方向の両方の精度が 2 倍になります。この方法について詳しくは、Google Maps JavaScript API のドキュメントをご覧ください。
注: 地球上のすべての場所ですべてのズームレベルが表示されるわけではありません。ズームレベルは場所によって異なります。これは、地球上の一部の場所のデータが他の場所よりも詳細であるためです。
地図タイルが存在しないズームレベルのリクエストを送信すると、Maps Static API は代わりに空白の画像を返します。
次のリストは、各ズームレベルで表示されるおおよその詳細度を示しています。
- 1: 世界
- 5: 大陸
- 10: 都市
- 15: 通り
- 20: 建物
この例では、同じ 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(1,280x1,280 ピクセルを返す) |
この例では、ズームレベル 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 を指定すると、200x200 ピクセルの地図が返されます。通常 1 インチあたり約 100 ピクセル(ppi)を表示する LCD パソコン モニターでは、200x200 の地図は各寸法で約 2 インチになります。
しかし、モバイル デバイスでは、ピクセル密度が 300 ppi を超える高解像度画面がますます増えています。
- 200x200 ピクセルの画像を 0.7 インチに縮小すると、ラベルやアイコンが小さすぎて読めなくなります。
- 画像を拡大(ズーム)して読みやすくすると、画像がぼやけたり、ピクセル化したりします。
| 小さすぎる | ぼやけている |
|---|---|
![]() |
![]() |
モバイル デバイス向けに開発する場合は、API の scale パラメータを使用して、上記の問題を解決する高解像度の地図画像を返すことができます。scale 値に size を乗算して、地図の表示領域を変更せずに、画像の実際の出力サイズ(ピクセル単位)を決定します。デフォルトの scale 値は 1 です。指定できる値は 1 と 2 です。
たとえば、スケール値が 2 の場合、スケールが指定されていないリクエストと同じ地図の対象エリアが返されますが、各ディメンションのピクセル数は 2 倍になります。これには道路やラベルも含まれるため、高解像度でサイズの小さい画面でも、ブラウザで拡大縮小した場合でも、判読しやすくなります。
| 150x150 | 150x150&scale=2 |
|---|---|
![]() |
![]() |
このような画像は、CSS を使用して高さと幅を設定した img タグまたは div タグに挿入すると、パソコンのブラウザでも適切に表示されます。ブラウザは、画質を損なうことなく、画像を適切なサイズに縮小します。
この表は、3 つの異なる画像リクエストを示しています。
- 1 つ目は 100x100 の画像用で、スケール値は指定されていません。パソコンでは適切に表示されますが、モバイル デバイスでは小さすぎて読めません。
- 2 つ目の値は、地図のサイズを 2 倍にします。パソコンでは、CSS によって指定された 100x100 の
img要素に収まるように画像が縮小されますが、その際に道路やラベルが小さくなりすぎます。モバイル デバイスでは、画像は適切なサイズですが、道路とラベルが判読できません。 - 3 つ目のリクエストは、
scale=2を使用した 100x100 の地図です。画像は 200 ピクセルの詳細で返されます。デスクトップでは、元の 100x100 のリクエストと区別できないように完全に縮小されます。一方、モバイル ブラウザでは、API から返された追加の解像度のメリットが得られます。
| 画像リクエスト | |||
|---|---|---|---|
| デバイス | 100x100 |
200x200 |
100x100&scale=2 |
| パソコン ( height="100px" とwidth="100px" をimg タグに指定) |
![]() |
![]() |
![]() |
| 高解像度 (シミュレーション) |
![]() |
![]() |
![]() |
モバイルおよび高解像度ディスプレイ向けの開発の詳細については、以下をご覧ください。
- Android デベロッパー ドキュメントの複数画面のサポート。
- Webkit.org の高 DPI ウェブサイトの開発に関する推奨事項。
- iOS デベロッパー ライブラリの高解像度画面のサポート
画像形式
画像は、一般的なウェブ グラフィック形式(GIF、JPEG、PNG)で返されます。format パラメータは、次のいずれかの値を取ります。
png8またはpng(デフォルト)は、8 ビットの PNG 形式を指定します。png32は 32 ビット PNG 形式を指定します。gifは GIF 形式を指定します。jpgは、JPEG 圧縮形式を指定します。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
jpg と jpg-baseline は通常、最も小さい画像サイズを提供しますが、これは「非可逆」圧縮によるもので、画像が劣化する可能性があります。gif、png8、png32 は可逆圧縮を提供します。
ほとんどの 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 つの大文字の英数字を指定します。(大文字の使用は、このバージョンの 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
異なるスタイルのマーカーを定義するには、複数の markers パラメータを指定する必要があります。この markers パラメータのセットでは、3 つのマーカーを定義しています。1 つは「S」というラベルが付いた青いマーカー(位置は 62.107733, -145.5419)、もう 1 つは「Delta Junction, AK」にある小さな緑のマーカー、3 つ目は「C」というラベルが付いた中サイズの黄色いマーカー(位置は「Tok, AK」)です。これらのマーカーを次の例に示します。
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
カスタム アイコン
Google のマーカー アイコンを使用する代わりに、独自のカスタム アイコンを使用することもできます。カスタム アイコンは、markers パラメータの icon 記述子を使用して指定します。次に例を示します。
markers=icon:URLofIcon|markerLocation
URL(URL エンコード形式にする必要があります)を使用して icon を指定します。https://goo.gl などの URL 短縮サービスで作成された URL を使用できます。ほとんどの URL 短縮サービスには、URL を自動的にエンコードするという利点があります。
カスタム アイコンのアンカーポイントを指定できます。アンカーポイントは、指定された markers の位置を基準にしてアイコンを配置する方法を設定します。デフォルトでは、カスタム アイコンのアンカーポイントはアイコン画像の下部中央です。icon と組み合わせて anchor 記述子を使用すると、別のアンカー ポイントを指定できます。anchor は、アイコンの x,y 座標(10,5 など)として設定するか、top、bottom、left、right、center、topleft、topright、bottomleft、bottomright のいずれかの値を使用して事前定義された配置として設定します。次に例を示します。
markers=anchor:bottomright|icon:URLofIcon|markerLocation1|markerLocation2
リクエスト 1 件につき最大 5 個のユニークなカスタム アイコンを使用できます。この制限は、地図上でマークできる場所が 5 つのみに制限されるという意味ではありません。各ユニーク アイコンは、地図上の複数の markers の場所で使用できます。
アイコンの形式:
- アイコン画像は PNG、JPEG、GIF のいずれかの形式にしてください(PNG を推奨)。
- アイコンの最大サイズは 4,096 ピクセル(正方形の画像の場合は 64x64)です。
カスタム アイコンの例
例 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
例 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
Maps Static API のパス
path パラメータは、地図画像にオーバーレイするパスで接続された 1 つ以上の場所のセットを定義します。path パラメータは、次の形式の値の割り当て(パス記述子)のセットを受け取ります。
path=pathStyles|pathLocation1|pathLocation2|... など
2 つのパスポイントは、パイプ文字(|)で区切られています。スタイル情報とポイント情報はどちらもパイプ文字で区切られるため、パス記述子ではスタイル情報を最初に指定する必要があります。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¢er=59.900503,-135.478011&zoom=4 &path=weight:3%7Ccolor:orange%7Cenc:_fisIp~u%7CU%7D%7Ca@pytA_~b@hhCyhS~hResU%7C%7Cx@oig@rwg@amUfbjA%7Df%5BroaAynd@%7CvXxiAt%7BZwdUfbjAewYrqGchH~vXkqnAria@c_o@inc@k%7Bg@i%60%5Do%7CF%7DvXaj%5Ch%60%5Dovs@?yi_@rcAgtO%7Cj_AyaJren@nzQrst@zuYh%60%5Dv%7CGbldEuzd@%7C%7Cx@spD%7CtrAzwP%7Cd_@yiB~vXmlWhdPez%5C_%7BKm_%60@~re@ew%5ErcAeu_@zhyByjPrst@ttGren@aeNhoFemKrvdAuvVidPwbVr~j@or@f_z@ftHr%7BZlwBrvdAmtHrmT%7BrOt%7BZz%7DE%7Cc%7C@o%7CLpn~AgfRpxqBfoVz_iAocAhrVjr@rh~@jzKhjp@%60%60NrfQpcHrb%5Ek%7CDh_z@nwB%7Ckb@a%7BR%7Cyh@uyZ%7CllByuZpzw@wbd@rh~@%7C%7CFhqs@teTztrAupHhyY%7Dt%5Dhuf@e%7CFria@o%7DGfezAkdW%7C%7D%5BocMt_Neq@ren@e~Ika@pgE%7Ci%7CAfiQ%7C%60l@uoJrvdAgq@fppAsjGhg%60@%7ChQpg%7BAi_V%7C%7Cx@mkHhyYsdP%7CxeA~gF%7C%7D%5Bmv%60@t_NitSfjp@c%7DMhg%60@sbChyYq%7De@rwg@atFff%7D@ghN~zKybk@fl%7DA%7DcPftcAite@tmT__Lha@u~DrfQi%7DMhkSqyWivIumCria@ciO_tHifm@fl%7DA%7Brc@fbjAqvg@rrqAcjCf%7Ci@mqJtb%5Es%7C@fbjA%7BwDfs%60BmvEfqs@umWt_Nwn%5Epen@qiBr%60xAcvMr%7BZidg@dtjDkbM%7Cd_@ &key=YOUR_API_KEY&signature=YOUR_SIGNATURE
標準のパスと同様に、エンコードされたポリラインパスも、fillcolor 引数が path パラメータに渡されると、多角形領域を区切ることができます。
次の例では、ニューヨーク州ブルックリンを多角形状の領域として定義しています。
https://maps.googleapis.com/maps/api/staticmap ?size=400x400¢er=40.653279,-73.959816&zoom=11 &path=fillcolor:0xAA000033%7Ccolor:0xFFFFFF00%7Cenc:%7DzswFtikbMjJzZ%7CRdPfZ%7DDxWvBjWpF~IvJnEvBrMvIvUpGtQpFhOQdKpz%40bIx%7BA%7CPfYlvApz%40bl%40tcAdTpGpVwQtX%7Di%40%7CGen%40lCeAda%40bjA%60q%40v%7D%40rfAbjA%7CEwBpbAd_%40he%40hDbu%40uIzWcWtZoTdImTdIwu%40tDaOXw_%40fc%40st%40~VgQ%7C%5BuPzNtA%60LlEvHiYyLs%5EnPhCpG%7DSzCNwHpz%40cEvXg%40bWdG%60%5DlL~MdTmEnCwJ%5BiJhOae%40nCm%5B%60Aq%5DqE_pAaNiyBuDurAuB%7D%7DAy%60%40%7CEKv_%40%3F%7C%5BqGji%40lAhYyH%60%40Xiw%40tBerAs%40q%5DjHohAYkSmW%3FaNoaAbR%7DLnPqNtMtIbRyRuDef%40eT_z%40mW_Nm%7CB~j%40zC~hAyUyJ_U%7BZ%3F%3FcPvg%40%7Ds%40sHsc%40_z%40cj%40kp%40YePoNyYyb%40_iAyb%40gBw%5EbOokArcA%7DGwJuzBre%40i%5Ctf%40sZnd%40oElb%40hStW%7B%5Dvv%40%3F%3Fkz%40~vAcj%40zKa%60Atf%40uQj_Aee%40pU_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
地図の暗黙的な位置指定
通常は、center と zoom の URL パラメータを指定して、生成される地図の位置とズームレベルを定義する必要があります。ただし、markers、path、visible のいずれかのパラメータを指定すると、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 の 1280 x 1280 ピクセル)を超えるサイズの画像が必要な場合は、 サポートチームにお問い合わせいただき、次の情報をお知らせください。
- ユースケースと、大きなサイズの画像が必要な理由。
- 他の Google Maps Platform API(Maps JavaScript API、Maps Embed API、Maps SDK for Android、Maps SDK for iOS)の使用を検討したかどうか、また、それらの API がニーズを満たさない理由。
- 大きいサイズの画像の使用方法を示すスクリーンショット、モック、サンプル。
- 大サイズの画像の推定月間使用量。
ご提供いただいた情報に基づいてリクエストを審査し、ユースケースが Google Maps Platform 利用規約に準拠しているかどうかを判断します。
提供可能な最大サイズは 2048 x 2048 ピクセルです。
トラブルシューティングとサポート
Maps Static API の使用方法について詳しくは、サポートページをご覧ください。
Maps Static API では、問題が発生するとエラーまたは警告が表示されることがあります。特に、地図に表示されないものがある場合は、警告を確認する必要があります。また、新しいアプリケーションを起動する前に警告を確認することをおすすめします。警告は HTTP ヘッダーに表示されるため、すぐにはわからない場合があります。詳細については、エラーと警告に関するガイドをご覧ください。







