地図上に表示されているマーカーをクリックすると情報ウィンドウが表示されるようにします。
デモとコードサンプルはこちら。
サンプルコードの説明
1)マーカーの定義(スクリプト)
①ui-gmap-markersタグにclick属性追加(HTML)
マーカーをクリックした際に実行する関数を指定します。この関数でウィンドウの非表示から表示に変更します。
<ui-gmap-markers models="map.markers" coords="'self'" click="'onClicked'" >
②ui-gmap-markersタグ内にui-gmap-windowsディレクティブ追加(HTML)
ui-gmap-markersタグ内にui-gmap-windowsディレクティブ追加し、show属性とcloseClick属性でウィンドウの表示、表示したウィンドウのクローズを制御します。
<ui-gmap-windows show="'showWindow'" closeClick="'closeClick'"> <p ng-non-bindable><strong>{{ title }}</strong><br /> latitude,longitude {{ latitude | number:4 }}, {{ longitude | number:4 }} </p> </ui-gmap-windows>
③ウィンドウを表示する関数、表示されているウィンドウを閉じる関数を定義(スクリプト)
angular.forEach($scope.map.markers, function (marker) { marker.closeClick = function () { marker.showWindow = false; $scope.$apply(); }; marker.onClicked = function () { marker.showWindow = true; $scope.$apply(); }; });