カテゴリー
サインイン 新規登録

間違いや改善の指摘

内容の技術的な誤り・誤字脱字やミスのご報告・解説やトピックの追記/改善のご要望は教材をさらに良くしていく上でとても貴重なご意見になります。

少しでも気になった点があれば、ご遠慮なく投稿いただけると幸いです🙏

実際には誤りではなく勘違いであっても、ご報告いただけることで教材のブラッシュアップにつながります。

質問ポリシー①

教材受講者みなさんのスムーズな問題解決のために、心がけていただきたいことがあります。

教材の内容に関する質問を投稿しましょう

教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。

その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。

3-2

Maps JavaScript APIでマップを表⽰する

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

HTML
1234567891011121314151617181920212223242526
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

HTML
12
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

HTML
12345678910
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

HTML
12
Copied!
<script src="https://maps.googleapis.com/maps/api/js?key=ここにAPIキーを⼊れる &callback=initMap" async defer></script>

index.htmlファイルをブラウザ上で開くと、以下の画像のようにGoogle Mapsの地 図が描画されます。