Angularjs Can';t在谷歌地图中使用标记标记打开标记窗口
目标 在地图上显示一组随机标记。单击其中一个按钮时打开信息窗口。 我使用了API页面(标记)中的一个示例,并添加了窗口的标记和显示窗口的单击处理程序方法。但是我就是不能让它工作 问题 将显示标记,但单击时不显示窗口 旁白 在使用tag和ng repeat时,我就有了这个功能;但是医生说标签是首选的方法 有什么想法吗 示例如下: 请点击这里:Angularjs Can';t在谷歌地图中使用标记标记打开标记窗口,angularjs,angular-google-maps,Angularjs,Angular Google Maps,目标 在地图上显示一组随机标记。单击其中一个按钮时打开信息窗口。 我使用了API页面(标记)中的一个示例,并添加了窗口的标记和显示窗口的单击处理程序方法。但是我就是不能让它工作 问题 将显示标记,但单击时不显示窗口 旁白 在使用tag和ng repeat时,我就有了这个功能;但是医生说标签是首选的方法 有什么想法吗 示例如下: 请点击这里: {{title}}! $scope.$watch(函数(){ 返回$scope.map.bounds; },功能(nv,ov){ //只需要再生一次 如果
{{title}}!
$scope.$watch(函数(){
返回$scope.map.bounds;
},功能(nv,ov){
//只需要再生一次
如果(!西南偏南和西南偏南){
var标记=[];
对于(变量i=0;i<5;i++){
markers.push(createRandomMarker(i$scope.map.bounds))
}
对于(变量y=0;y<5;y++){
变量标记=标记[y];
marker.onClicked=函数(){
marker.showWindow=true;
}
}
$scope.randomMarkers=标记;
}
},对);
已解决
这是通过nitewulf50链接到的plunk解决的
一些注意事项:
窗口标记似乎只能有一个子项。所以我需要将所有内容都包含在一个div中。窗口和窗口似乎很难正常工作,因为您也需要它们。几天前,我在Windows上遇到了一个问题,cthrax在github上发布了一个使用Windows的解决方案:
希望这对你也有帮助。这帮我解决了问题,谢谢。更新了plunk。列出的plunk已损坏
<div id="map_canvas" ng-controller="mainCtrl">
<google-map center="map.center" zoom="map.zoom" draggable="true" options="options" bounds="map.bounds">
<markers models="randomMarkers" coords="'self'" icon="'icon'" click="'onClicked'">
<window ng-cloak show="'showWindow'">
<h1>{{title}}!</h1>
</window>
</markers>
</google-map>
</div>
$scope.$watch(function() {
return $scope.map.bounds;
}, function(nv, ov) {
// Only need to regenerate once
if (!ov.southwest && nv.southwest) {
var markers = [];
for (var i = 0; i < 5; i++) {
markers.push(createRandomMarker(i, $scope.map.bounds))
}
for (var y = 0; y < 5; y++) {
var marker = markers[y];
marker.onClicked = function() {
marker.showWindow = true;
}
}
$scope.randomMarkers = markers;
}
}, true);