
Googleマップには、指定した範囲の地図をWebページに埋め込む機能が用意されているが、配色など詳細なカスタマイズは出来ない。
せっかくサイトのデザインを黒背景のIngress風にしていても、明るくカラフルなマップが表示されては台無しになってしまう。
そこで、「Google Maps JavaScript API v3」という方式を利用して地図を埋め込んでみよう。配色などのデザインを詳細にカスタマイズしたり、マーカーアイコンを表示するなど、高度な地図の埋め込みが可能だ。Intel MapもこのAPIを利用して作られており、デザインを指定しているオプションを真似れば、Intel Mapと同じデザインの地図を埋め込めるぞ。
このAPIの詳細な説明は、公式のリファレンスページに掲載されている他、有志による日本語の解説記事も存在するので、より高度な機能を利用したい場合はこれらを参考にしよう。
なお、公式のドキュメントによると、APIを利用するにはGoogleのアカウントで開発者登録を行いAPIキーを取得する必要があるとのことだが、今のところAPIキー無しでも利用できるようだ。
・Getting Started | Google Maps Javascript API | Google Developers
・Google Maps JavaScript API V3 Reference | Google Maps Javascript API | Google Developers
・Google Maps JavaScript API v3の使い方まとめ (サンプルコード付き)
まずは、地図の中心にしたい座標や、マーカーを表示させたい座標を調べよう。
Googleマップでは、右クリックで表示されるメニューの「この場所について」をクリックすると、画面下に地名や住所とともに緯度, 経度が表示されるぞ。
Intel Mapでは、右上の「Link」をクリックすることで、地図の中心座標と縮尺を含むURLが表示される。「ll=」以下が緯度,経度、「z=」以下が縮尺レベルだ。ポータルをクリックして情報を表示している状態では、「pll=」以下にポータルの緯度,経度が表示されるぞ。
Intel Map風の地図をWebページに埋め込むには、以下のようなHTMLタグを貼り付けよう。
複数の地図を埋め込みたい場合は、2行目以降をコピーして、2箇所ある「map_1」の部分を別の識別名に変えて貼り付ければいいぞ。
1行目の「<script~」は、JavaScript APIの本体を読み込むためのタグだ。
2行目「<div~」は、地図の描画先となるボックス領域を確保するタグで、「width:」「height:」以下の数値でサイズを指定している。
その後の「<script>」内が、APIを利用して地図の表示を実行させている部分だ。
6行目の「LatLng()」の中に、地図の中心となる緯度・経度を記述しよう。
7行目の「zoom:」の後の数字は、縮尺レベルだ。Intel Mapの「Link」で表示されるURLの「z=」以下を参考に指定しよう。
「disableDefaultUI: true」の行は、ズームボタンなどを非表示にするという指定。削除すれば普通に表示されるようになるぞ。
「mapTypeId」の行は表示する地図の種別の指定で、「google.maps.MapTypeId.SATELLITE」にすれば写真地図になる。
「styles」以下の字下げされている部分が、地図の配色などを設定している行だ。
「featureType:’poi’」と「featureType:’transit’,elementType:’all’」の行で施設名などの表示をオフにしており、削除すれば多くの情報が表示されるようになるぞ。
「function addMarker(map,lat,lng,text)」以降の字下げされている行は、マーカーを追加するための処理を「関数」として定義している部分だ。
「icon」以下に、マーカーのアイコン画像のURLが記述されている。この例では画像データをエンコードしたデータURIにしているが、「http://」から始まる通常の画像ファイルURLを指定してもいいぞ。
「addMarker()」の行では、上で定義したマーカーの追加処理を呼び出している。マーカーを増やしたい場合は、この行をコピーして、()内の経度、緯度、マウスカーソルを乗せたときに表示されるテキストを変更しよう。
実際に上記のコードを埋め込むと、以下のようになる。
ポータルなどの情報が無くて少々寂しい感じになってしまうので、マーカーが少ない場合は「featureType:’poi’」と「featureType:’transit’,elementType:’all’」の行を削除して、施設名などが表示されるようにしておいた方がいいかも知れない。


動作が軽いミッション作成画面はポータル情報収集にも便利
Intel Mapでもストリートビューを利用できる
Intel Mapのパラメータ付きURLで気になる情報を一発表示
プライバシーに注意して知人バレやストーキングを防ごう
キャッシュに保存されているポータル写真などを抽出
「Ingress Intel Map」で狙い目のポータルを探そう

アニメに登場した文京区周辺の風景を見に行こう
アニメとレベルアップの聖地!歴史由緒ある根津神社
漱石、荷風、慶喜ゆかりの巻石通りはポータルの宝庫
超大作の連作ミッション「歴史と文化の散歩道を歩こう」
APと歩行距離を稼ぐなら音羽通りの坂道巡りがオススメ
アニメ効果でブーム到来!?文豪ゆかりのスポット特集
文京区のオアシス『椿山荘』でAPと健康をチャージ!-後編-
音羽通り周辺を巡る24連作の「雪景色の鳩山会館」ミッション
春の訪れを告げる湯島天神の「文京梅まつり」
多くの文人が暮らした地を巡る連作ミッション「本郷at料理店」
バッテリの発火事故が心配ならセーフティバッグに入れておこう
ポケモンGO、今週末に新ポケモン追加などの大規模更新!!
いつでも好きなだけ「グリフハック」を練習できるツール
ポケモンGOの1周年記念イベントで伝説のポケモンが出現!?
バランス調整後のポケモン、CPいくつ以上なら捕まえるべき?
感謝祭イベントと共にポッポなどに化けた「メタモン」が出現!
お得なイベントに備えてアイテムを温存しよう
新ポケモンの解禁でサーバは配信開始以来の大混雑!
ポケモンGOに伊藤園自販機とタリーズコーヒーが登場!
ポケモンGO1周年記念でサトシの帽子ピカチュウが登場