~Linux、MySQLからAJAXまでアーカイブAngularJSを使ってGoogleマップ(25)プレイスライブラリで店や施設を表示(4)オートコンプリートプレイスライブラリの検索結果に対し、より詳細な情報を取得しマーカーウィンドウに表示するサンプルコードを作成しました。関連記事の目次AngularJSautocompleteplaceAngularJSを使ってGoogleマップ(24)地図上にラインを表示ポリラインを使って地図上にラインを表示するサンプルコードを作成しました。関連記事の目次AngularJSGoogleマップPolylineAngularJSを使ってGoogleマップ(23)地図に独自のスタイルを設定スタイル付き地図の機能を使って、公園、川、湖などの色を変えて目立たせるようする事ができます。前回、プレイスライブラリを使って特定のタイプの店や施設を検索してマーカーを地図上に表示しました。前回はnearbySearchメソッドを使ってタイプを指定して検索しましたが、今回はテキスト検索を使ったサンプルコードを作成しました。関連記事の目次AngularJSquerytextSearchAngularJSを使ってGoogleマップ(2)地図上に複数のマーカーを表示するAngularJSを使ったGoogleマップで地図上にマーカーを表示する方法についてです。関連記事の目次AngularJSmarkerswordpressAngularJSを使ってGoogleマップ(1)google-mapディレクティブを使って地図を表示AngularJSを使ってGoogleマップを表示する方法についてです。WordPressの投稿本文にGoogleマップを表示するために必要な環境設定については下記記事を参照下さい。関連記事の目次AngularJSBootstrap3wordpressAngularJSカスタムディレクティブのlink関数とcompile関数AngularJSカスタムディレクティブのlink関数とcompile関数について、ライフサイクル上の違いを確認し、compile関数を使ったサンプルコードを作成しました。関連記事の目次AngularJScompilelinkAngularJSカスタムディレクティブのスコープ設定方法サンプルコードを使ってAngularJSカスタムディレクティブのスコープ設定方法を確認し、まとめました。scopeカスタムディレクティブAngularJSのスクリプト内でフィルターを使用、既存のフィルターを拡張AngularJSのフィルターは、HTML内だけではなく、スクリプト内のコントローラ、サービス、ディレクティブ、カスタムフィルター内でも使用する事が出来ます。関連記事の目次AngularJSfilterfilterFilterAngularJSとBootstrap3を使ってページングAngularJSとBootstrap3を使って一覧データをページングで表示するサンプルコードを作成しました。デモとコードサンプルはこちら。Bootstrap3によるCSS設定、AngularJSのビルトインフィルター、カスタムフィルターなど様々な機能を使用していてコードが少し長くなっているので、3段階のステップに分けて作成しています。※目次をクリックすると目次の下部にコンテンツが表示されます。一覧情報をページ化して表示するには、オフセット(配列内のどのデータから表示するか)と表示個数を制御する必要があります。AngularJSのフィルターを使って、配列内のデータからオフセットと表示個数を指定して表示するサンプルを作成します。表示個数は、下記のようにビルトインフィルターのlimitToを使って制御する事が出来ます。i_size”>オフセットは、下記カスタムフィルターを定義し、入力配列データから指定した個数のデータをsliceで除去しています。このカスタムフィルターを使って、指定したオフセット数以降のデータを表示出来ます。};});配列データをページングで表示1)ページ数の計算、Bootstrap3のpagination属性を使ってページリンク表示1ページ当りの表示件数を基にページ数を計算し、ページ数分のページリンクをBootstrap3のpagination属性を使って表示します。1ページ数の計算itemsPerPageがページ当りの件数で、配列データ数を割ってページ数を求めます。ページ数分のページ番号をリターンします。ret;};2Bootstrap3のpagination属性を使ってページリンク表示Bootstrap3のページングの機能http://getbootstrap.com/components/#paginationを使ってページリンクを表示します。上記1で定義したrange()関数を使ってページ番号をリターンし、ページ番号のリンクを表示しています。現在のページ番号$scope.currentPageとページ当りの表示個数を指定して、指定したページのデータを表示します。上記(1)のサンプルコードを同じ仕組みです。itemsPerPage">4ページ番号リンククリック時の動作を定義ページ番号をクリックすると$scope.currentPageにそのページ番号を設定します。これで上記3のオフセットが変更され、指定したページのデータを表示出来ます。上記4と同様に$scope.currentPageの値を更新します。現在表示しているページのページリンクの色を変える、先頭ページを表示している場合は"前へ"のリンクを、最後のページを表示している場合は"次へ"のリンクを無効にするように設定します。AngularJSのng-classを使ってBootstrap3のpagenationのactive、disableを動的に設定して切替えます。1現在表示しているページ番号のリンクをアクティブにするAngularJSのng-classを使って、リンクのページ番号nと現在表示しているページ番号currentPageが等しい場合は、"active"のCSSクラスを動的に追加し、色を変更できます。ng-click="setPage(n)">2前後のページへのリンクの有効、無効を切替え上記1と同様にng-classを使って、現在のページが先頭または最後かどうかチェックし、マッチした場合は、"disabled"のCSSクラスを動的に追加し、リンクを無効にします。