AngularJS ngmap将范围变量传递给infoWindow

时间:2014-11-06 13:40:19

标签: javascript angularjs google-maps infowindow

我正在使用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}}。我做错了什么?

2 个答案:

答案 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忽略。如果你有一个,可能就是这种情况   例如,显示代码片段的网站。