はじめに
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
パラメータの影響を受けます。最終的な出力サイズは、size と 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 のマップタイプをご覧ください。language
(省略可)は、マップタイルに表示されるラベルの言語を定義します。このパラメータがサポートされているのは一部の国のタイルのみであることに注意してください。リクエストされた特定の言語がタイルセットでサポートされていない場合は、そのタイルセットのデフォルトの言語が使用されます。region
(省略可)は、地政学的区別に基づいて表示する適切な境界を定義します。2 文字の ccTLD(トップレベル ドメイン)値で指定される地域コードを使用します。サポートされている地域は、Google Maps Platform のサポート状況でご確認いただけます。
特徴パラメータ
map_id
(省略可)は、特定のマップの識別子を指定します。マップ ID は、地図を特定のスタイルまたは機能に関連付けます。マップ ID は、地図の初期化に使用した API キーと同じプロジェクトに属している必要があります。詳細については、マップ ID の使用をご覧ください。markers
(省略可): 画像の指定された位置に追加する 1 つまたは複数のマーカーを定義します。このパラメータは、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
の値を指定できます。緯度または経度に無効な値を指定した場合は、不適切なリクエストとして拒否されます。
住所
ある場所を指す際に緯度と経度を使う人はほとんどいないでしょう。通常は、addressesを使います。住所を地理的な地点に変換するプロセスはジオコーディングと呼ばれ、Maps Static API サービスに有効な住所を渡すことでジオコーディングを行うことができます。
パラメータに緯度と経度を渡すこともできますが、住所を示す文字列を渡すこともできます。その場合、住所のジオコーディングが行われて Maps Static API サービスには緯度と経度が渡されます。その値を使って、マーカーの表示や位置の指定が行われます。文字列は URL エンコードされている必要があります。たとえば、「City Hall, New York, NY」のような住所は、「City+Hall,New+York,NY」に変換します。
なお、ここで言う住所は、番地などの正確な住所、名前のある道などのポリライン、市区町村、国、国立公園などの多角形状の地域のいずれかを示すものであることに注意してください。ポリライン状または多角形状の結果の場合、Maps Static API サーバーは、その線や地域の中心を住所の中心として使用します。住所がどのようにジオコーディングされているか疑問に感じる場合は、 Geocoding Utility で住所のジオコーディングを試すことができます。
次の例では、カリフォルニア州バークレーの静的地図画像を生成します。
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 である 2 つのマンハッタンのマップをリクエストしています。
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 ピクセル、横 200 ピクセルで返されます。通常、コンピュータの LCD モニターは、1 インチあたりのピクセル数(ppi)が 100 で表示されます。そのため、200x200 のマップは約 2 インチ(5 センチ)四方となります。
ただし、モバイル端末の画面は高解像度化が進んでおり、ピクセル密度が 300ppi を超えるものもあります。このような端末では、次のどちらかが発生します。
- 200x200 ピクセルのサイズの画像がほんの 1.8 センチほどに縮小され、ラベルやアイコンの表示が小さすぎて読めなくなる
- 読みやすいように画像を拡大(ズーム)すると、ぼやけたりモザイク状になる
小さすぎる | ぼやけている |
---|---|
モバイル デバイス向けの開発を行う場合は、API の scale
パラメータを使用して解像度が高いマップの画像を返すようにすると、上記の問題を解決できます。scale
の値と size
を掛けると、ピクセル単位での実際の画像の出力サイズを求めることができます。マップの表示範囲は変わりません。デフォルトの scale
値は 1 です。指定できる値は 1 と 2 です。
たとえば、scale の値が 2 の場合、scale が指定されていないリクエストと同じ範囲のマップが返されますが、縦横とも 2 倍のピクセルが含まれるようになります。このマップには、高解像度の小さな画面でも読みやすい道路やラベルが含まれています。また、ブラウザで拡大や縮小をしても読みやすくなっています。
150x150 | 150x150&scale=2 |
---|---|
このような画像を CSS で高さと幅を指定した img
タグや div
タグに入れると、デスクトップのブラウザでもきれいに表示されます。画像は、画質を落とすことなく正しいサイズに縮小されます。
次の表は、3 つの画像のリクエストを示しています。
- 最初は 100x100 の画像で、scale の値は指定されていません。デスクトップでは正しく表示されますが、モバイル端末では小さすぎて読めなくなっています。
- 2 番目のものは、マップサイズが 2 倍になっています。デスクトップでは、CSS で指定された 100x100 の
img
要素の中に表示されていますが、画像を縮小しているため、道路やラベルが小さくなりすぎています。画像はモバイル端末でも正しいサイズですが、道路やラベルはやはり読めなくなっています。 - 3 番目のリクエストは、
scale=2
を指定した 100x100 のマップです。これによって、詳細情報が 200px で記載された画像が返されます。デスクトップではきれいに縮小されており、元の 100x100 のリクエストと見分けがつきません。モバイル ブラウザでも、API によって返される高解像度の効果が現れています。
画像リクエスト | |||
---|---|---|---|
デバイス | 100x100 |
200x200 |
100x100&scale=2 |
パソコン ( img タグに height="100px" とwidth="100px" を指定) |
|||
高解像度 (シミュレーション) |
高解像度のモバイル ディスプレイ向けの開発についての詳しい情報は、次のドキュメントがお勧めです。
- Android デベロッパー ドキュメントの複数画面をサポートする
- Webkit.org による高 DPI ウェブサイトを開発する際の推奨事項
- iOS Developer Library の高解像度画面のサポート。
画像形式
画像は、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 つ以上の場所に設定します。1 つの markers
宣言の中で定義されたマーカーには、すべて視覚的に同じスタイルが適用されます。異なるスタイルのマーカーを表示したい場合は、別のスタイル情報を定義した複数の markers
パラメータを指定する必要があります。
markers
パラメータには、次の形式で一連の値(マーカー記述子)を渡します。
markers=markerStyles|markerLocation1|
markerLocation2|...
など
markerStyles のセットは markers
宣言の最初に宣言します。これは、パイプ文字(|
)で区切った 0 個以上のスタイル記述子で構成され、その後にパイプ文字(|
)で区切った 1 つ以上の位置情報のセットが続きます。
スタイル情報と位置情報はどちらもパイプ文字区切りであるため、マーカー記述子内ではスタイル情報を最初に指定する必要があります。Maps Static API サーバーがマーカー記述子内で位置情報を見つけると、以降のマーカーのパラメータはすべて位置情報であると見なされます。
マーカーのスタイル
マーカー スタイル記述子は、パイプ(|
)文字で区切られた一連の値です。スタイル記述子では、マーカー記述子によってマーカーを表示する際に使用する視覚的な属性を定義します。スタイル記述子には、次のキー値ペアを含めることができます。
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 つまたは複数の位置情報を含める必要があります。この位置情報には、緯度と経度の値かaddressesのどちらかを指定します。複数の位置情報がある場合は、パイプ文字(|
)で区切って指定します。
注: 人間が読める住所文字列やポリラインなど、ジオコーディングが必要な方法でマーカーの位置を指定する場合は、リクエストに指定できるマーカーは最大 15 個までです。この上限は、ジオコーディングが必要なマーカーの位置にのみ適用されます。緯度と経度の座標で指定するマーカーの位置には適用されません。
location パラメータは、マップ上のマーカーの位置を定義するものです。center
パラメータと zoom
パラメータが指定されており、その場所がマップの外にある場合、生成された画像にマーカーは表示されません。ただし、この 2 つのパラメータが指定されていない場合、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 つのマーカーを定義します。62.107733、-145.5419 の場所に「S」のラベルが付いた青いマーカー、[Delta Junction, AK] に小さな緑色のラベルのないマーカー、[Tok, AK] にサイズが mid で「C」のラベルが付いた黄色いマーカーです。この 3 つのマーカーを次の例に示します。
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 を使用して icon
を指定します(URL エンコードする必要があります)。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
リクエストごとに使用できる一意のカスタム アイコンは 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
例 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 つ以上の場所を 1 本の線で接続したパスをマップ画像に重ねて表示します。path
パラメータには、次の形式で一連の値(パス記述子)を割り当てます。
path=pathStyles|pathLocation1|pathLocation2|...
など
パスでつなぐそれぞれの地点をパイプ文字(|
)で区切っていることに注意してください。スタイル情報と地点情報はどちらもパイプ文字区切りであるため、パス記述子内ではスタイル情報を最初に指定する必要があります。Maps Static API サーバーがパス記述子内で位置情報を見つけると、以降のパスのパラメータはすべて位置情報であると見なされます。
パススタイル
パススタイル記述子は、パイプ(|
)文字で区切られた一連の値です。スタイル記述子では、パスを表示する際に使用する視覚的な属性を定義します。スタイル記述子には、次のキー値ペアを含めることができます。
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
通常のパスと同様に、エンコードしたポリラインのパスの path
パラメータに fillcolor
引数を渡すと、多角形状の領域を定義することができます。
次の例では、ニューヨーク州ブルックリンを多角形状の領域として定義しています。
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 の 1,280 x 1,280 ピクセル)より大きいサイズの画像が必要な場合は、 サポートチームにお問い合わせのうえ、以下の情報をご提供ください。
- ユースケースと、大きなサイズの画像が必要な理由。
- 他の Google Maps Platform API(Maps JavaScript API、Maps Embed API、Maps SDK for Android、Maps SDK for iOS)の使用を検討したかどうか、検討しなかった場合はその理由。
- 大サイズの画像を使用する方法のスクリーンショット、モック、サンプル。
- 大サイズの画像の月間使用量の推定値。
ご提供いただいた情報に基づいてリクエストを審査し、ユースケースが Google Maps Platform 利用規約に準拠しているかどうかを判断いたします。
最大サイズは 2,048 x 2,048 ピクセルです。
トラブルシューティングとサポート
Maps Static API の使用方法について詳しくは、サポートページをご覧ください。
何らかの問題が発生した場合、Maps Static API からエラーや警告が返されることがあります。特に、マップ上に表示されていないものがある場合は、警告を確認するようにしてください。新しいアプリケーションを起動する前にも、警告を確認することをおすすめします。警告は HTTP ヘッダーに含まれるため、すぐにはわからない可能性がある点に注意してください。詳細については、エラーと警告のガイドをご覧ください。