ui-gmap-window在第二次点击angularjs谷歌地图上失去绑定

时间:2015-06-10 08:30:13

标签: javascript angularjs google-maps google-maps-api-3 angularjs-scope

我的ui-gmap-windows中的数据绑定仅适用于第一个单击的标记(我可以根据需要多次打开相同的标记,但是当我单击另一个标记时,数据绑定会丢失)

数据绑定来自一个对象,该对象在点击它的任何标记上获取正确的数据,它只是不会在ui-gmap窗口中呈现。

所以总结一下:数据绑定仅适用于第一个单击的标记。

 $scope.selectedmarker = {};

这是我的角度标记点击代码:

//passing in my collection of objects when calling this method then passing through the clicked marker object.
   $scope.addMarkerClickFunction = function (markersArray) {
    angular.forEach(markersArray, function (value, key) {
        value.onClick = function () {
            $scope.onClick(value);
        };
    });
};

   $scope.onClick = function (data) {
    if ($scope.windowOptions.show === true) {
        $scope.windowOptions.show = false;
        $scope.$apply();
    }
    else {
        $scope.selectedmarker = data;
        $scope.$apply();
        $scope.windowOptions.show = true;
    }
};

这是我的标记:

<ui-gmap-window coords="selectedmarker.coords" options="windowOptions" closeClick="closeClick()" show="windowOptions.show">
<div style="overflow: auto; width: 300px;">
    <h2 style="font-size: 12px">{{selectedmarker.title}}</h2>
    <h2 style="font-size: 12px">ADRESS:</h2>
    <span>{{selectedmarker.addressStreet}}</span>
    <br/>
    <span>{{selectedmarker.addressZip + ' ' + selectedmarker.addressCity}}</span><br/>
    <span>{{'Telefon: ' + selectedmarker.phoneNumber}}</span><br/>
    <span>{{'E-postadress: ' + selectedmarker.email}}</span>
    <h2 style="font-size: 12px"></h2>
    <span>{{selectedmarker.products}}</span>
</div>

提前致谢!

1 个答案:

答案 0 :(得分:0)

在找到并关注此主题后,重新编写了我的代码并使其正常工作:

Marker click event not firing for ui-gmap-marker in Map Controller