
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」で狙い目のポータルを探そう

アニメに登場した文京区周辺の風景を見に行こう
300円で乗り放題!エージェントの足となるバス「Bーぐる」
Anomalyの翌日のMISSION DAY TOKYOは文京区も舞台に!
超大作の連作ミッション「歴史と文化の散歩道を歩こう」
音羽通り周辺を巡る24連作の「雪景色の鳩山会館」ミッション
漱石、荷風、慶喜ゆかりの巻石通りはポータルの宝庫
Ingressをしながら文京区の名所を楽しみ尽くそう!
アニメ効果でブーム到来!?文豪ゆかりのスポット特集
播磨坂の「さくらまつり」など、文京区内のお花見スポット
100円バスで楽々「ぐるっとBーぐる」シリーズミッション
Ingress内のテキスト表示に使われている「Coda」フォント
新ポケモン実装に先駆けて本体のアップデートが提供開始!!
新タイアップでカー用品店のオートバックスがポータル化!
水辺に居るポケモンが陸地でも出やすくなる水ポケモン祭りが開催!
今週末が見頃!文京区の名所でお花見を楽しもう
ポケモンGO1周年記念でサトシの帽子ピカチュウが登場
「セル」の範囲を細かく確認できる「Ingress Cell Map」
獲得APを調整してキリ番をゲットしよう
ミッションを作成して登録申請しよう
Obsidian浜松を徹底レポート!NIA須賀さんのコメントも