Google Mapの埋め込みで同じコードを何度も書くのが面倒なので、スニペットとしてここに置いておきます。
使いたい方はご自由にどうぞ。
まずはじめにid="map"
と data-lat
, data-lng
に緯度経度を指定したHTMLを用意しましょう。
<div id="map" data-lat="43.279011" data-lng="142.465059"></div>
次にGoogleMap.jsとして次のコードを書いたファイルを用意します。
const API_KEY = ‘YOUR_API_KEY'; export default class GoogleMap { constructor(el = '#map') { this.map = null; this.el = el; this.initialize(); } initialize() { // Load Google Map API const tag = document.createElement('script'); tag.src = 'https://maps.googleapis.com/maps/api/js?key=' + API_KEY; tag.async = 1; tag.defer = 1; const firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); window.addEventListener('load', this.render.bind(this)); } render() { this.target = document.querySelector(this.el); this.map = new google.maps.Map(this.target, { center: { lat: this.target.getAttribute('data-lat') * 1, lng: this.target.getAttribute('data-lng') * 1 }, zoom: 9, mapTypeControl: false }); } }
Google MapのAPIキーを取得したら const API_KEY = ‘YOUR_API_KEY';
にセットするのを忘れずに。
最後に利用したいところで次のように初期化して完成です。
import GoogleMap from ‘./GoogleMap.js' new GoogleMap()
new GoogleMap()
にはレンダリングするDOMをセレクタで指定できます。
デフォルトは #map
です。