はじめに
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 つ以上の連結点を含む 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
を指定すると、グリニッジを中心としたマップになります。
緯度と経度の値は、地表の有効な位置に対応している必要があります。緯度には -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: 建物
この例では、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 ピクセルとして返されます。LCD パソコン モニターでは通常、約 100 ppi(100 ppi)で表示されますが、200×200 の地図は各寸法が約 2 インチになります。
ただし、モバイル端末の画面は高解像度化が進んでおり、ピクセル密度が 300ppi を超えるものもあります。このような端末では、次のどちらかが発生します。
- 200x200 ピクセルのサイズの画像がほんの 1.8 センチほどに縮小され、ラベルやアイコンの表示が小さすぎて読めなくなる
- 画像を拡大(ズーム)して読みやすくすると、不鮮明な画像やモザイク状の画像になります。
小さすぎる | ぼやけている |
---|---|
モバイル デバイス向けの開発を行う場合は、API の scale
パラメータを使用して解像度が高いマップの画像を返すようにすると、上記の問題を解決できます。scale
の値と size
を掛けると、ピクセル単位での実際の画像の出力サイズを求めることができます。マップの表示範囲は変わりません。デフォルトの scale
値は 1 です。指定できる値は 1 と 2 です。
たとえば、scale の値が 2 の場合、scale を指定していないリクエストと同じ地図の適用範囲が返されますが、各寸法のピクセルは 2 倍になります。このマップには、高解像度の小さな画面でも読みやすい道路やラベルが含まれています。また、ブラウザで拡大や縮小をしても読みやすくなっています。
150x150 | 150x150&scale=2 |
---|---|
このような画像を CSS で高さと幅を指定した img
タグや div
タグに入れると、デスクトップのブラウザでもきれいに表示されます。画像は、画質を落とすことなく正しいサイズに縮小されます。
次の表は、3 つの画像のリクエストを示しています。
- 1 つ目は、スケール値が指定されていない 100x100 の画像用です。デスクトップでは正しく表示されますが、モバイル端末では小さすぎて読めなくなっています。
- 2 番目のものは、マップサイズが 2 倍になっています。デスクトップでは、CSS で指定された 100x100 の
img
要素の中に表示されていますが、画像を縮小しているため、道路やラベルが小さくなりすぎています。画像はモバイル端末でも正しいサイズですが、道路やラベルはやはり読めなくなっています。 - 3 番目のリクエストは、
scale=2
を指定した 100x100 のマップです。これによって、詳細情報が 200px で記載された画像が返されます。デスクトップではきれいに縮小されており、元の 100x100 のリクエストと見分けがつきません。モバイル ブラウザでも、API によって返される高解像度の効果が現れています。
画像リクエスト | |||
---|---|---|---|
デバイス | 100x100 |
200x200 |
100x100&scale=2 |
パソコン ( img タグにheight="100px" とwidth="100px" を設定) |
|||
高解像度 (シミュレーション) |
高解像度のモバイル ディスプレイ向けの開発についての詳しい情報は、次のドキュメントがお勧めです。
- 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 つ以上の場所に設定します。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 ヘッダーに含まれるため、すぐにはわからない可能性がある点に注意してください。詳細については、エラーと警告のガイドをご覧ください。