Google Maps APIでピンをクリックしたときに吹き出しを表示する方法

Google Mapsでオリジナルのピンを表示させたい場合、ただ表示させるだけではなくクリックしたときに吹き出しを表示させて、その場所がなんなのか表示させたいことがあります。
Google Maps APIの設定
Google Maps APIの初期設定については過去に記事にしてあるのでそちらをご覧ください。
そして、オリジナルのピンの表示方法は下記の記事で解説しています。
上記の2つの記事が前提で、まずは下記のコードでGoogle Maps APIでオリジナルのピンを表示させます。
<div id="map"></div>
<script>
initMap();
function initMap() {
let map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 35.681382, lng: 139.766083},
zoom: 8
});
//マーカーの追加
let marker = new google.maps.Marker({
position: {lat: - 35.681382, lng: 139.766083}, // ピンの緯度・経度
map: map, // 追加するGoogle Mapsを指定
icon: {
url: './images/pin.png' // ピンの画像パスを指定
}
});
}
</script>InfoWindowの使用
Google Maps APIで吹き出しを表示させたい場合はInfoWindowを使用します。
InfoWindowの定義
InfoWindowのcontentプロパティに表示させたいテキストを入力します。
let infoWindow = new google.maps.InfoWindow({
content: '<div class="window">InfoWindow内のテキスト</div>'
})テキストだけでもいいですし、HTMLタグを書くこともできるので、<img>を使って画像を表示させるのも可能です。
マーカークリック時にInfoWindowを開く
現状マーカーの定義とInfoWindowの定義が終わっている状態なので、「マーカーをクリックしたときに、InfoWindowを表示させる」コードを追加します。
まずはマーカーにaddListenerでクリック時に発火するようにして、変数のinfoWindowにopen(マップの指定, マーカーの指定)でマーカーのすぐ上に表示されるようになります。
marker.addListener("click", () => {
infoWindow.open(map, marker);
});表示の確認
実際に表示を確認して、マーカーをクリックすると下記のような吹き出しが表示されます。

ちゃんと表示されていれば、InfoWindowの表示は成功です。


Visual Studio Codeの基本|概要やインストールから日本語化など最低限の設定方法
スクロールしてもテーブルヘッダーが追尾するテーブルの作り方
WordPressって何なの?これからWordPressを勉強したい人がとりあえず知っておきたい事
Nuxt.jsでコンポーネントを作成してコードの共通化を行う|Nuxt.jsの基本
Webデザイナーを目指す専門学生が技術ブログを書くメリット
Dart Sassでファイルを分割して管理する方法|Dart Sass入門
iTerm2を使いこなすために覚えておきたいショートカット集
Post Snippetsを使ってWordPressでショートコードをの登録と管理をもっと楽に!!
WordPressのヘッダーにツールバーが表示されないときは、wp_headやwp_footerが入っているか確認
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
chezmoi(シェモア)で始めるdotfiles管理
GitHubの通知を見逃さない!通知に特化したアプリ「Gitify」
Keyboard Maestroの変数基礎
Neovimを使い始める最初の一歩として便利な「LazyVim」
ウェブサイトをmacOSアプリとしてラッピングする「Unite Pro」
Keyboard Maestroの「Macro Debugger」で複雑なマクロのデバッグを行う方法
無料版でも高機能なランチャーアプリ「Raycast」の基本機能と環境設定
OnyXでターミナルを使わずにmacOSの詳細設定を行う
軽量で高速なターミナルエミュレーター「Ghostty」の設定方法
Eagleで実現するクリエイティブ素材の簡単管理