はじめに
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
です。指定できる値は1
と2
です。詳細については、スケール値をご覧ください。format
(省略可)は、生成される画像の形式を定義します。Maps Static API では、デフォルトで PNG 画像が作成されます。GIF、JPEG、PNG など、いくつかのファイル形式を使用できます。使用する形式は、画像の表示方法によって異なります。通常、JPEG は圧縮率が高く、GIF と PNG はより詳細な画像を提供します。詳細については、画像形式をご覧ください。maptype
(省略可)は、作成する地図のタイプを定義します。maptype の値はroadmap
、satellite
、hybrid
、terrain
などです。詳しくは、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
を入力します。
緯度と経度の値は、地表の有効な場所に対応している必要があります。緯度には -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
が設定されています。ズームレベルが上がるごとに、水平方向と垂直方向の両方で精度が 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" を使用) |
|||
高解像度 (シミュレーション) |
モバイルおよび高解像度ディスプレイ向けの開発について詳しくは、以下をお読みください。
- 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 つの大文字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
異なるスタイルのマーカーを定義するには、複数の 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
カスタム アイコン
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
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
例 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 で記述します。各経路は、|
(パイプ)文字で区切ります。
次の例では、ニューヨーク市のユニオン スクエアからタイムズ スクエアまで、デフォルトの不透明度 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
地図の暗黙的な配置
通常は、URL パラメータ center
と zoom
を指定して、生成された地図の位置とズームレベルを定義する必要があります。ただし、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 利用規約に準拠しているかどうかを判断いたします。
提供できる最大サイズは 2048 x 2048 ピクセルです。
トラブルシューティングとサポート
Maps Static API の使用方法について詳しくは、サポートページをご覧ください。
問題が発生すると、Maps Static API からエラーまたは警告が返されることがあります。特に、地図に欠落しているものがある場合は、警告を確認する必要があります。また、新しいアプリをリリースする前に警告を確認することもおすすめします。この警告は HTTP ヘッダーに表示されるため、すぐにはわからない場合があります。詳細については、エラーと警告に関するガイドをご覧ください。