我正在使用 angular-google-maps 并且有一个应该都有信息窗口的标记列表。到目前为止,这是我的代码:
$scope.markers = [
{id: 1,
coords: {latitude: 45, longitude: -73},
clk:function(){showWindow = true; $scope.$apply();},
showWindow: false,
closeClick:function(){ showWindow = false; }
},
[More identically structured markers]
];
并在标记中:
<google-map center="map.center" zoom="map.zoom" ng-show="true" draggable="true" control="map.control">
<markers models="markers" coords="'coords'" click="'clk'" doRebuildAll="true">
<windows show="'showWindow'" closeClick="'closeClick'" options="map.wndoptions">
<div >
Marker
<input type="button" value="U" ng-click="$parent.moveMarkerUp()"></input>
<input type="button" value="D" ng-click="$parent.moveMarkerDown()"></input>
<input type="button" value="L" ng-click="$parent.moveMarkerLeft()"></input>
<input type="button" value="R" ng-click="$parent.moveMarkerRight()"></input>
</div>
</windows>
</markers>
</google-map>
当我showWindow
从一开始就设置为 true 时,所有信息窗口都打开并且它们的行为正常,我可以关闭并再次打开它们。我不希望它们从一开始就全部可见,所以我设置showWindow
为 false,但是现在当我单击标记时,什么也没有发生。该函数称为showWindow
更新,但不显示任何窗口。