Javascript 角度谷歌地图信息窗口图标不可单击
我在谷歌地图上遇到了一个问题 如下图所示,信息窗口中有两个图标(Javascript 角度谷歌地图信息窗口图标不可单击,javascript,angularjs,google-maps,angular-google-maps,Javascript,Angularjs,Google Maps,Angular Google Maps,我在谷歌地图上遇到了一个问题 如下图所示,信息窗口中有两个图标() 我的DOM是这样的 <ui-gmap-google-map id="mapDiv" center='map.center' zoom='map.zoom'> <!--<ui-gmap-marker idKey="marker.id" coords="marker.coords"></ui-gmap-marker>-->
)
我的DOM是这样的
<ui-gmap-google-map id="mapDiv" center='map.center' zoom='map.zoom'>
<!--<ui-gmap-marker idKey="marker.id" coords="marker.coords"></ui-gmap-marker>-->
<ui-gmap-markers models="markers" coords="'self'">
<ui-gmap-windows show="show">
<div ng-non-bindable>
<div>
<label class="markerToolTipLabel">{{name}}</label>
<div class="icons">
<span class="glyphicon glyphicon-eye-open customGlyph" ng-mouseover="glyphClick()" ng-click="glyphClick()"></span>
<span class="glyphicon glyphicon-eye-close customGlyph" ng-click="glyphClick()"></span>
</div>
</div>
</div>
</ui-gmap-windows>
</ui-gmap-markers>
</ui-gmap-google-map>
{{name}}
我的控制器(glyphClick函数)只是做一个控制台日志
但是当我点击图标时,我在控制台上没有得到任何输出
有什么问题吗??
如何解决这个问题
请帮忙 从代码中删除不可绑定的。将手表功能附加到其中是一种不安全的做法
<ui-gmap-windows show="show">
<div >
<div>
<label class="markerToolTipLabel">{{name}}</label>
<div class="icons">
<span class="glyphicon glyphicon-eye-open customGlyph" ng-mouseover="glyphClick()" ng-click="glyphClick()"></span>
<span class="glyphicon glyphicon-eye-close customGlyph" ng-click="glyphClick()"></span>
</div>
</div>
</div>
{{name}}
显然,它发生在控制器作用域中声明的无法从
ui gmap窗口
子作用域访问的glyphClick
事件之后
解决方案
首先,我们需要引入一个额外的控制器:
appMaps.controller('infoWindowCtrl', function($scope) {
$scope.glyphClick = function() {
console.log('Button clicked!');
}
});
然后为ui-gmap-windows
指令指定以下布局:
<ui-gmap-windows show="show">
<div>
<div>
<label class="markerToolTipLabel" ng-non-bindable>{{name}}</label>
<div class="icons" ng-controller="infoWindowCtrl">
<span class="glyphicon glyphicon-eye-open customGlyph" ng-mouseover="glyphClick()" ng-click="glyphClick()"></span>
<span class="glyphicon glyphicon-eye-close customGlyph" ng-click="glyphClick()"></span>
</div>
</div>
</div>
</ui-gmap-windows>
.angular谷歌地图容器{
位置:绝对位置;
排名:0;
底部:0;
右:0;
左:0;
}
{{name}}
您能添加plnkr或任意代码吗?如果我删除ng non bindable属性,我看不到文本,只会出现图标。您能添加plnkr吗?这真的很好。但如果我想将name作为glyphClick函数的参数传递,该怎么办?那不行。这有什么办法吗?