シンプルなHTMLのみでGoogle Mapsをカスタマイズできる「Google Maps Embed API」を使ってみます。
概要
Google Maps Embed APIには以下の特長があります。
使用制限がない
例えばGoogle Maps JavaScript APIの場合、1日25,000回のマップロードが無料などの使用制限が設定されていますが、Google Maps Embed APIにはそのような制限は設定されていません。
そのため、利用される回数などを気にせずに使用できます。
簡単に埋め込める
Google Mapsで複雑なことをしようとするとJavaScriptなどで実装しないといけないですが、このAPIはiframeのsrc属性のパラメータのみで設定するので、JavaScriptなどは使用しないで実装ができます。
src属性のURLの形式は以下のようになります。
https://www.google.com/maps/embed/v1/【MODE】?key=【API_KEY】&【parameters】
| MODE | マップの種類を指定。 place/directions/search/view/streetviewのいずれかを選択。 |
|---|---|
| API_KEY | APIキーを指定。 |
| parameters | マップのオプションを指定。 マップ上の場所を指定する場合は名前、住所、プレイスIDのいずれかで指定し、URLエスケープが必要。 |
API_KEYで記載しているように、使用にはAPIキーの設定が必要になります。
APIキーの取得方法については以前記事を投稿していますので、あらかじめ取得しておいてください。
Google Maps APIの利用前にAPIキーを取得する
マップのモード
マップのモードは5種類あります。
Placeモード
Placeモードは一般的によく使われるマップで、特定のプレイスや住所にピンを立てて表示します。
URLに以下のパラメータが必須になります。
| q | マップ上で表示する場所を指定。 |
|---|
実際にPlaceモードのマップを埋め込んでみます。
※記事内のサンプルコードは分かりやすいように改行・URLエスケープ前のものを記載しています。
HTML
<iframe
src="https://www.google.com/maps/embed/v1/place
?key=【API_KEY】
&q=浩庵キャンプ場"
width="600" height="450" frameborder="0" style="border:0" allowfullscreen>
</iframe>
Directionsモード
Directionsモードは指定した地点間のルート・距離などをマップ上に表示します。
以下のパラメータが必須になります。
| origin | ルートの始点を指定。 |
|---|---|
| destination | ルートの終点を指定。 |
HTML
<iframe
src="https://www.google.com/maps/embed/v1/directions
?key=【API_KEY】
&origin=浩庵キャンプ場
&destination=パインウッドキャンプ場"
width="600" height="450" frameborder="0" style="border:0" allowfullscreen>
</iframe>
Directionsモードで使える他のパラメータもいくつか試してみます。
| waypoints | ルートの始点と終点の間に1か所以上の経由地を指定。 複数の経由地を指定する場合はパイプ文字(|)を使って区切る。 |
|---|
HTML
<iframe
src="https://www.google.com/maps/embed/v1/directions
?key=【API_KEY】
&origin=山梨市駅
&destination=パインウッドキャンプ場
&waypoints=笛吹川フルーツ公園
|ほったらかし温泉"
width="600" height="450" frameborder="0" style="border:0" allowfullscreen>
</iframe>
| mode | 移動手段を指定。 値はdriving/walking/bicycling/transit/flyingのいずれかを選択。 |
|---|
HTML
<iframe
src="https://www.google.com/maps/embed/v1/directions
?key=【API_KEY】
&origin=山梨市駅
&destination=パインウッドキャンプ場
&waypoints=笛吹川フルーツ公園
|ほったらかし温泉
&mode=walking"
width="600" height="450" frameborder="0" style="border:0" allowfullscreen>
</iframe>
| avoid | 通行料金の発生する道やフェリー、高速道路を避ける場合に指定。 値はtolls/ferries/highwaysで、複数指定する場合はパイプ文字(|)を使って区切る。 |
|---|
HTML
<iframe
src="https://www.google.com/maps/embed/v1/directions
?key=【API_KEY】
&origin=内船駅
&destination=高ボッチ高原
&waypoints=霧ヶ峰高原
&avoid=tolls|highways"
width="600" height="450" frameborder="0" style="border:0" allowfullscreen>
</iframe>
Searchモード
Searchモードはマップの領域に検索結果を表示します。
以下のパラメータが必須になります。
| q | 検索キーワードを指定。 |
|---|
HTML
<iframe
src="https://www.google.com/maps/embed/v1/search
?key=【API_KEY】
&q=山梨県 キャンプ場"
width="600" height="450" frameborder="0" style="border:0" allowfullscreen>
</iframe>
Viewモード
Viewモードはピンやマーカーが表示されていないマップを表示します。
以下のパラメータが必須になります。
| center | マップの中心の緯度経度をコンマ区切りで指定。 |
|---|
HTML
<iframe
src="https://www.google.com/maps/embed/v1/view
?key=【API_KEY】
¢er=35.473183,138.57476399999996
&zoom=15"
width="600" height="450" frameborder="0" style="border:0" allowfullscreen>
</iframe>
Streetviewモード
StreetviewモードはGoogleストリートビューで指定した位置を表示します。
以下のパラメータが必須になります。
| location | Googleストリートビューで表示する緯度経度をコンマ区切りで指定。 |
|---|
HTML
<iframe
src="https://www.google.com/maps/embed/v1/streetview
?key=【API_KEY】
&location=35.473183,138.57476399999996
&heading=120
&pitch=10"
width="600" height="450" frameborder="0" style="border:0" allowfullscreen>
</iframe>
必須項目ではないですが、headingでカメラの方向(北を起点とした方角)、pitchでカメラの角度(上向き・下向き)を調整しています。
Streetviewモードのデモページ
【参考サイト】
コメントが承認されるまで時間がかかります。