はじめに
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
(マーカーが存在しない場合は必須)は、地図の中心を定義します。これは地図のすべての端から等距離になります。このパラメータでは、地域をカンマ区切りの {latitude,longitude} のペア(例: 「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 の地図タイプをご覧ください。language
(省略可): 地図タイルにラベルを表示する場合に使用する言語を定義します。このパラメータは、一部の国のタイルでのみサポートされています。リクエストされた特定の言語がタイルセットでサポートされていない場合は、そのタイルセットのデフォルトの言語が使用されます。region
(省略可)は、地政学的な機密性に基づいて表示する境界線を定義します。2 文字の ccTLD(「トップレベル ドメイン」)値として指定された地域コードを使用できます。サポートされている地域は、Google Maps Platform のサポート状況でご確認いただけます。
特徴パラメータ
map_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 Console でアプリケーションの API 使用状況をモニタリングできます。また、必要に応じて Google からアプリケーションに関する問い合わせを受けることがあります。詳しくは、Maps Static API で API キーを使用するをご覧ください。signature
(推奨)は、API キーを使用してリクエストを生成するサイトで、署名が認可されることを確認するために使用されるデジタル署名です。デジタル署名のないリクエストは失敗する可能性があります。詳しくは、デジタル署名を使用するをご覧ください。
URL サイズの制限
Maps Static API の URL は 8,192 文字以内に制限されています。実際には、マーカーやパスの数が多い複雑な地図を作成しない限り、これより長い 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 サーバーはライン/エリアの中心点を住所センターとして使用します。住所がジオコーディングされるかどうかわからない場合は、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: 建物
この例では、ズームレベル 12 と 14 をそれぞれ同じ center
値で指定し、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 x 200 ピクセルで返されます。通常、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 デベロッパー向けドキュメントの複数画面のサポートをご覧ください。
- 高 DPI ウェブサイトの開発に関する Webkit.org の推奨事項。
- 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 つの 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 個のマーカーに制限されます。この上限は、ジオコーディングが必要なマーカーの位置にのみ適用されます。緯度と経度の座標で指定されたマーカーの位置には適用されません。
location パラメータは、地図上のマーカーの位置を定義します。位置情報が地図から外れている場合は、center
パラメータと zoom
パラメータが指定されていれば、そのマーカーは構築した画像に表示されません。ただし、これらのパラメータが指定されていない場合、Maps Static API サーバーは指定されたマーカーを含む画像を自動的に作成します。(暗黙的の配置をご覧ください)。
マーカー宣言のサンプルは次のとおりです。スタイルのセットと 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 つは 62.107733 の「S」というラベルの付いた青いマーカーで、もう 1 つは「Delta Junction、AK」の小さな緑色のマーカー、もう 1 つは「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
カスタム アイコン
Google のマーカー アイコンを使用する代わりに、独自のカスタム アイコンを自由に使用できます。カスタム アイコンは、markers
パラメータの icon
記述子で指定されます。例:
markers=icon:URLofIcon|markerLocation
icon
(URL エンコード)を使用して URL を指定します。https://goo.gl
などの URL 短縮サービスで作成した URL を使用できます。ほとんどの URL 短縮サービスには、URL を自動的にエンコードできるというメリットがあります。
カスタム アイコンのアンカー ポイントを指定できます。アンカー ポイントは、指定した markers
位置を基準とするアイコンの配置方法を設定します。デフォルトでは、カスタム アイコンのアンカー ポイントはアイコン画像の下部中央になります。anchor
記述子を icon
と組み合わせて使用し、別のアンカー ポイントを指定できます。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 ピクセル(正方形の画像は 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|...
など
両方のパスポイントは、パイプ文字(|
)を使用して互いに分離されています。スタイル情報とポイント情報の両方はパイプ文字で区切られているため、スタイル情報はすべてのパス記述子で最初に表示される必要があります。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 として |
(パイプ)文字で区切られて示されます。
次の例では、ニューヨークの Union Square から Times Square まで不透明度が 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}%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¢er=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
地図の暗黙的な配置
通常は、生成された地図の位置とズームレベルを定義するために、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 × 640 ピクセル(またはスケーリング値が 1,280 × 1,280 ピクセル)より大きいイメージが必要な場合は、サポートチームにお問い合わせください。
- ユースケースと、大きなサイズの画像が必要な理由。
- 他の Google Maps Platform API(Maps JavaScript API、Maps Embed API、Maps SDK for Android、または Maps SDK for iOS)の使用を検討しているかどうかにかかわらず、ニーズに合わない理由を教えてください。
- サイズの大きな画像の使用方法を示すスクリーンショット、モック、サンプル。
- 大きなサイズの画像の 1 か月の推定使用量。
提供された情報に基づいてリクエストが審査され、Google Maps Platform 利用規約に準拠しているかどうかが確認されます。
指定できる最大サイズは 2,048 x 2,048 ピクセルです。
トラブルシューティングとサポート
Maps Static API の使用方法について詳しくは、サポートページをご覧ください。
問題が発生した場合、Maps Static API でエラーまたは警告が表示されることがあります。特に、地図に情報が欠落している場合は、警告を確認する必要があります。また、新しいアプリをリリースする前に警告を確認することもおすすめします。警告は HTTP ヘッダーに表示されるため、すぐにはわからない可能性があります。詳細については、エラーと警告に関するガイドをご覧ください。