第22回 WordPress 勉強会@松戸
本日のテーマ
いろいろな方法で地図を表示したり、カスタマイズしてみたり
本日のメニュー
- Google マップのコードを埋め込む
- WordPress の地図系のプラグインを利用する
- Simple Map
- MapPress Easy Google Maps
- WordPress のカスタムフィールド系のプラグインを利用する
- Google Maps API を利用する
はじめに
今回は地図を表示したり、カスタマイズしたりというテーマでセッションをさせて頂きます。そのため、セッション中はスタイルシートや JavaScript の書き方、WordPressの基本操作などの説明は割愛させて頂きますので了承ください。
もし解らない点やご不明な点などございましたら、後半のもくもく会などをご活用してお尋ねください!
Google マップのコードを埋め込む
手順
- Google マップを開く。
- 埋め込みたい地図やストリートビュー画像を地図上に表示する。
- 左上のメインメニュー をクリックする。
- [地図を共有または埋め込む] をクリックする。
- 表示されるボックスの上部で [地図を埋め込む] タブを選択する。
- 埋め込みサイズを選択し、そのコードをコピーする。
- コピーしたコードを、投稿(固定)ページの本文に(テキストモードで)貼り付ける。
サンプルコード
デモ・サンプル
http://wp-matsudo.net/22th/201603/method-1-1/
WordPress の地図系のプラグインを利用する
Simple Map
手順
- プラグイン[Simple Map]をインストールする。
- 投稿(固定)ページの本文にコードを記入する。
サンプルコード
デモ・サンプルイメージ
http://wp-matsudo.net/22th/201603/method-2-1/
カスタマイズしてみよう
- functions.php にフィルターフックを記入
参考
MapPress Easy Google Maps
手順
- プラグイン[MapPress Easy Google Maps]をインストールする。
- MapPress タブの[新規マップ]をクリックする。
- [POIを追加]のテキストエリアに、表示させたい場所を入力して検索マークをクリックする。
- 保存名を入力・サイズを選択し、[保存]をクリックする。
デモ・サンプル
http://wp-matsudo.net/22th/201603/method-2-2/
カスタマイズ
[ダッシュボード]-[MapPress]をクリックし、管理画面より設定する。

参考
WordPress のカスタムフィールド系のプラグインを利用する
Advanced Custom Fields
手順
- プラグイン[Advanced Custom Fields]をインストールする。
- [ダッシュボード]-[カスタムフィールド]でカスタムフィールドを作成する。

- 投稿(固定)ページに追加されたテキストフィールドに表示させたい住所(もしくは、緯度・経度)を入力する。注意)上述の「MapPress Easy Google Maps」と共存させると正しく動かないかも

このままでは表示されないので・・・
4. 表示させたいテンプレートファイルの表示させたい場所に追加する。
- そして、オフィシャルサイトの CSS, JS をコピーして作成する。
参考)ACF | Google Map
デモ・サンプル
http://wp-matsudo.net/22th/method-3-1/
カスタマイズ
※ 後述のGoogle Maps API にて説明
参考
Google Maps API を利用する
手順
- 以下を確認して APIキー を取得する。
- 以下を参考に、コードを作成する。
※ 抜粋
今回は以下のように作成
① functions.php に、Google MAPS API と JavaScript をロードする記述をする。
(APIキー)は自身のAPIに書き換え
② マップ表示に関する JavaScript(gmap-api.js) を新規に作成する。
③ header.php の body 要素に、上述の initMap() をロードするイベントを追加する。
変更前
変更後
④ style.css にマップの表示スタイルを指定する。
⑤ 最後に、固定(投稿)ページの表示させたい場所に map という名前の div 要素を作成する。
デモ・サンプル
http://wp-matsudo.net/22th/201603/method-4-1/

カスタマイズ
gmap-api.js を編集し、表示をカスタマイズしていきます。
- マーカー(Marker)を表示する
下部 var map = new google.map*** の下に記述。

- マーカー(Marker)のアイコンを変更してアクションを指定する

- スクロールを制御する
中央あたり var opts *** のセクションに追加。
- スタイルを変更する
中央あたり var opts *** の上に追加。
中央あたり var opts *** のセクションに追加。

参考
(参考)その他 JavaScript・jQuery のプラグインを利用する