WordPressでAngularJSを使ったGoogleマップを使えるようにする

WordPressの投稿本文にAngularJSを使ったGoogleマップを表示する方法です。

下記構成で環境を構築します。
 
・WordPress Version3.8.1
・Googleマップ
・Googleマップのスクリプト AngularJS Version1.2.9
・レイアウト ブートストラップ3
 

1)準備


 
①AngularJSをダウンロード
AngularJS – Superheroic JavaScript MVW Framework
 
②”Google Maps for AngularJS”とunderscore.jsをダウンロード
 
AngularJSを使ってGoogleマップを表示するのに必要な下記をダウンロードします。
angular-google-maps ・ GitHub
Underscore.js
 
③angular-ui-bootstrapを入手
 
ここでは、レイアウトをブートストラップ3を使うことを想定しています。ブートストラップ3はCSS以外にドロップダウンナビゲーションメニューなどJavaScriptを利用した機能も含んでいますが、このJavaScript部分がAngularJSで記述されたコンポーネントをダウンロードします。
Angular directives for Bootstrap
 
上記よりブートストラップ3のJavaScriptは使用しません。
ブートストラップ3のCSS部分の設定は下記記事を参照。
ブートストラップ3を使って自作テーマ作成(2)ブートストラップのサンプルを使ってindex.phpを作成
 

2)上記ダウンロードファイルをサーバーにアップロード


 
ここでは、テーマディレクトリ内のjsディレクトリ内にJavaScriptファイルを配置しています。
 

3)上記ダウンロードファイルのインクルード設定


 
ここでは、1)でダウンロードしたファイルは各記事共通で利用するのでテーマのテンプレートファイルheader.php内にインクルード設定をします。
 
<?php wp_enqueue_script(‘angular-script’, get_template_directory_uri() . ‘/js/angular.min.js’) ?>
<?php wp_enqueue_script(‘mymap’,’https://maps.googleapis.com/maps/api/js?v=3.exp&key=[GoogleマップAPIキー]&sensor=false’); ?>
<?php wp_enqueue_script(‘underscore-script’, get_template_directory_uri() . ‘/js/underscore-min.js’); ?>
<?php wp_enqueue_script(‘angular-google-maps-script’, get_template_directory_uri() . ‘/js/angular-google-maps.min.js’); ?>
<?php wp_enqueue_script(‘ui-bootstrap-script’, get_template_directory_uri() . ‘/js/ui-bootstrap-tpls-0.9.0.min.js’); ?>
<?php wp_head(); ?>
 

4)html属性にngAppディレクティブ設定


 
ここでは、サイト全体で”googleMapApp”というモジュール名を使用しています。
 
テンプレートファイルheader.phpのhtml属性を下記のように修正します。
 
<html ng-app=”googleMapApp” <?php language_attributes(); ?>>
 

5)スタイルシート設定


 
ここでは、下記のようにスタイル設定をしています。
 
style.cssに下記設定をします。
 
@import url(‘bootstrap/css/bootstrap.css’);
 
.angular-google-map-container {
height: 400px;
}
 
ブートストラップ3のCSS部分の設定は下記記事を参照。
ブートストラップ3を使って自作テーマ作成(2)ブートストラップのサンプルを使ってindex.phpを作成
 

6)動作確認


 
実際に投稿本文にGoogleマップを表示してみます。
 
①スクリプトファイル作成
 
東京駅周辺の地図をAngularJSを使って記述しています。ここでは、map1.jsというファイル名としています。
 
テーマディレクトリ内の/jsディレクトリにアップロードします。

var mapApp = angular.module('googleMapApp', ['google-maps','ui.bootstrap']);

mapApp.controller("MyCtrl", function ($scope) {
 
  $scope.map = {
    center: {
        latitude: 35.681382,
        longitude: 139.766084
    },
    zoom: 16
};});

 
②WordPress投稿本文
 
下記のようにAngularJSのディレクティブを使ってGoogleマップを表示するコードを記述します。

<script type='text/javascript' src='http://www.example.com/wp/wp-content/themes/testtm/js/map1.js'></script>
<div ng-controller="MyCtrl">
  <google-map center="map.center" zoom="map.zoom"></google-map>
</div>
関連記事の目次
VPSサーバーでスナップショットを取得
~障害に備え、リカバリーポイントを作成。
VPSサーバーにログインして、設定内容を確認
~グローバルIPアドレス確認、SSHキーを作成。
VPSサーバーにSSHでログイン
~Tera Term、SSH、公開鍵認証方式
yumコマンドで最新のパッケージにアップデート
~全パッケージを最新にアップデート
Apacheのインストール
~yumコマンドでApacheインストール、iptablesでファイアウォールの設定
PHPとMySQLをインストール
~yumコマンドでPHP、MySQLインストール
WinSCPを使ってWordPressをアップロード
~WinSCPをクライアントPCにインストール、ファイルアップロード方法
WordPressをインストール
~MySQLでWordPress用データベース作成、wp-config.phpファイルの設定
CentOSのファイアウォール設定
~iptablesを使ってネットワークフィルタリング設定を一から行う
OpenSSHの設定をよりセキュアに
~ログイン制限、ポート変更、認証方式
ApacheでTCPのTraceメソッドを無効にする
~Apacheの設定変更、Telnetで動作確認
ヘッダーにApacheバージョンが表示されないようにする
~Apacheの設定変更、Telnetで動作確認
Apacheでディレクトリ内一覧表示を無効にする
~autoindex_moduleのロードを無効にする
セキュリティを考慮し、MySQLの匿名ユーザーにパスワードを設定、または削除
~MySQLの匿名ユーザーにパスワードを設定、または削除
PHPのバージョンが表示されないようにする
~php.iniの設定変更
WordPressディレクトリのパーミッションをセキュアに
~WordPress用ディレクトリの所有グループ、ユーザー、パーミッション設定
パーマリンク設定時のApache設定
~WordPressパーマリンクの設定、Apache .htaccessの設定
WordPressテーマの選定
~テーマ追加の特徴フィルターの項目、テンプレートキング
WordPressで画像のアップロード、サイズ調整、リンクを設定
~アップロード画像の画像サイズ、サムネイル、画像編集、リンク設定
更新可能なRPMパッケージのリストをメールで送信する
~yumコマンド、Bashスクリプト、Cron
Linuxでディスク使用量が多いディレクトリを調べる方法(1)
~du --max-depth
Linuxでディスク使用量が多いディレクトリを調べる方法(2)
~duコマンド、sortコマンド
WordPressデータベースのバックアップとリストア
~コマンドラインでバックアップ、リストア
WordPressのバージョンアップと旧バージョンへの戻し
~データベースとディレクトリのバックアップ、リストア
BashスクリプトでWordPressデータベースを自動バックアップ
~MySQLデータベースをBash、Cronを使って自動バックアップ、メール通知
BashスクリプトでDos攻撃など大量アクセスのログを検知
~Apacheアクセスログ、Dos、Cron、メール通知
テーマ作成
 
ブートストラップ3を使って自作テーマ作成
~Bootstrap3、自作テーマ作成、TwentyFourteen
Bootstrapのフリーのテーマを使ってデザインを簡単にカスタマイズ
~Bootstrap3のスタイルをカスタマイズ
 
WordPresssショートコード
 
簡単なショートコードを作ってみる
~ショートコードの作り方
ショートコードを使って関連記事のリンクを自動で挿入
~ショートコードの簡単なサンプル
ショートコードを使ってディレクトリ内のファイル名を取得し、投稿内にリンクを挿入
~カスタムフィールド利用、PHPで日本語文字列検索などのコーディング
 
AJAX、AngularJSなどその他応用
 
WordPress投稿内でAngularJSを使用
~AngularJS、Bootstrap、アコーディオン
Bootstrap3で作成したナビゲーションメニューをAngularJSに変更
~AngularJS、Bootstrap、自作テーマheder.php
WordPressでAngularJSを使ったGoogleマップを使えるようにする
~AngularJSを使って投稿内にGoogleマップ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です