教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。
その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。
Mapsサービスで提供されているMaps JavaScript APIを使ってマップを表⽰しま しょう。Maps JavaScript API とは、名前の通りウェブサイト上に地図を表⽰させる APIです。iframeなどで埋め込みむ⽅法とは異なり、地図のデザインやマーカーの配置 など地図の細かい部分単位でのカスタマイズが可能です。
事前にGoogle CloudコンソールでAPIの有効化が済んでいるかどうか確認しましょ う。有効化のやり⽅は事前準備の章を参考にしてください。
また、Maps JavaScript APIのリファレンスでAPIの仕様が確認できます。
https://developers.google.com/maps/documentation/javascript/reference/
実際に簡単なマップをWEBサイト上に表⽰してみましょう。まずはマップを表⽰す るためのテンプレートファイルを作成する必要があります。
ターミナルからtouchコマンドでindex.htmlという名前のテンプレートファイルを作 成しましょう。作成できたら、テキストエディタで開きましょう。Visual Studio Code の場合、「ファイル」>「開く」> index.htmlのファイルの保存場所まで移動>ファイ ルを選択の⼿順で開くことができます。
tbf6_google_maps_sample/chap03
Copied!$ touch index.html
続いてhtmlファイルのマークアップを⾏います。今回は以下の雛形を⽤意しました。 head要素内にマップがブラウザの全画⾯で表⽰できるようにCSSで調整しております。
index.html
HTML1234567891011121314151617181920212223242526 Copied!<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width,
initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Google Maps</title>
<style>
#map {
height: 100%;
}
html,
body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="map"></div>
</body>
</html>
APIを読み込む
次にMaps JavaScript APIを読み込む処理を追加します。body要素の閉じタグの⼿ 前に、以下のコードを記述します。keyパラメータには作成したAPIキーを⼊⼒しましょう。
index.html
HTML12 Copied!<script src="https://maps.googleapis.com/maps/api/js?key=ここに API キーを⼊れ る"
async defer></script>
これでMaps JavaScript APIを動かす準備が整いました。
マップを描画する
マップを描画する処理をJavaScriptで実装していきます。Maps JavaScript APIを読 み込んでいるscriptタグの上に新たにscriptタグを作成し、以下のコードを記述します。
index.html
HTML12345678910 Copied!<script>
function initMap() {
var map = new google.maps.Map(document.getElementById(’map’), {
center: { lat: 35.681236, lng: 139.767125 },
zoom: 17
})
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=ここに API キーを⼊れ
る" async defer></script>
Mapクラス
マップを描画するには、Mapクラスのインスタンスを利⽤します。第1引数にはマッ プを表⽰させたいdiv要素、第2引数にはマップを描画するためのオプションオブジェク トを指定します。今回は雛形に記載されている通り、mapという名前のid属性が付与さ れたdiv要素を指定しています。第2引数には必須パラメータであるcenter, zoomプロ パティを定義しています。オプションのプロパティについて後ほど解説していきます。
最後にAPIのURLにcallback値にはinitMapを記述します。これを追加すること で、APIが読み込まれた際にinitMap関数が⾃動で呼び出されるようになります。
index.html
HTML12 Copied!<script src="https://maps.googleapis.com/maps/api/js?key=ここにAPIキーを⼊れる
&callback=initMap" async defer></script>
index.htmlファイルをブラウザ上で開くと、以下の画像のようにGoogle Mapsの地 図が描画されます。