angular-google-maps のマーカーをクリックすると、ウィンドウが表示されるように最善を尽くしています。ここで行われていることのほとんどhttp://angular-google-maps.org/demo。
これは、マーカーを生成する関数です。レスト サービスから呼び出され、各マーカー オブジェクトは、coordinates.json で表示できます。
var generateMarkers = function(markers) {
angular.forEach(markers, function(marker) {
marker.onClick = function() {
console.log('on click - opening window');
marker.showWindow = true;
$scope.$apply();
}
marker.closeClick = function() {
console.log('close click - hiding window');
marker.showWindow = false;
$scope.$apply();
}
});
$scope.map.randomMarkers = markers;
};
これは、マーカーを宣言するコードです (コントローラーのネストはなく、1 つの $scope )。ウィンドウは、
<google-map center="map.center" zoom="map.zoom" draggable="true"
bounds="map.bounds" control="map.control">
<markers models="map.randomMarkers" coords="'self'"
icon="'icon'"
click="'onClick'">
<windows
show="'showWindow'"
coords="'self'"
closeClick="'closeClick'" ng-cloak="">
<div>
Window with additional information
</div>
</windows>
</markers>
</google-map>
これは angular-google-maps のバグか、私が何か間違ったことをしている (可能性が高い)
動作を示す plunkr を作成しました --> http://plnkr.co/edit/z1TdYlYbhSYWZb7n3L4M?p=preview
どう思うか教えてください。