我正在使用ngmaps(https://github.com/allenhwkim/angularjs-google-maps)在我的应用程序中动态加载标记和infoWindows。
在我看来它看起来像这样:
<marker
data-ng-repeat="ltd in ltds"
data-position="{{ltd.gps}}"
data-title="{{ltd.code}}"
data-draggable="false"
data-visible="true"
data-icon="images/marker.png"
data-on-click="showInfoWindow(event, ltd.code)">
</marker>
<info-window data-ng-repeat="ltd in ltds" id="{{ltd.code}}" data-position="{{ltd.gps}}" data-ltd="{{ltd}}">
<div ng-non-bindable>
<div class="infoWindow">
<div class="content">code: {{ltd.code}}</div>
</div>
</div>
</info-window>
但是在infoWindow中没有显示内容{{ltd.code}}。我做错了什么?
答案 0 :(得分:6)
上面的解决方案对我没有用,我认为它有关于ng地图版本的一些内容
所以我写了我的解决方案: http://plnkr.co/edit/eEE9tX4PlDstCeiQI6x2?p=preview
$scope.showInfoWindow = function (event, p) {
var infowindow = new google.maps.InfoWindow();
var center = new google.maps.LatLng(p[0],p[1]);
infowindow.setContent(
'<h3>' + p + '</h3>');
infowindow.setPosition(center);
infowindow.open($scope.objMapa);
};`
我在点击事件上创建信息窗口,然后我完全控制信息窗口
答案 1 :(得分:2)
从div中删除ng-non-bindable
指令
来自文档https://docs.angularjs.org/api/ng/directive/ngNonBindable:
ngNonBindable指令告诉Angular不要编译或绑定 当前DOM元素的内容。如果元素,这很有用 包含似乎是Angular指令和绑定但是哪些 应该被Angular忽略。如果你有一个,可能就是这种情况 例如,显示代码片段的网站。