Google 地图标记和 AngularJS

Google Maps Markers and AngularJS

我正在使用 Ionic (AngularJS + Cordova)。
使用以下代码,我创建了带有单击事件的标记,但是当我单击标记时,$scope.example 未在视图中更新(但在控制台中它显示 id,函数有效)。为什么?
我认为这些标记不是用 AngularJS(?).

编译的
$scope.setInfoWindow = function(id){$scope.example = id;console.log(id)}

for(i=0;i<data.length;i++){
    marker = new google.maps.Marker({
        position: new google.maps.LatLng(data[i].latit,data[i].longi),
        map: map,
        animation: google.maps.Animation.DROP
    });
    google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
            $scope.setInfoWindow(data[i].id);
        }
    })(marker, i));
}

Angular作用域在处理事件/通过事件操纵作用域时不运行它的摘要循环,那时你需要手动运行摘要循环。

范围变量更新完成后,您需要手动 运行 摘要循环。这样它将更新视图上的绑定。

$scope.setInfoWindow = function(id){
   $scope.example = id;
   console.log(id)
   $scope.$apply(); //running digest cycle to update binding
}