AngularJS和谷歌地图 - 使用多边形和ng-repeat

时间:2014-04-16 07:31:47

标签: javascript angularjs google-maps

我正在为AngularJS使用Google Maps插件 - http://angular-google-maps.org。 我正在尝试用多边形填充地图,所以我的HTML看起来像这样:

    <google-map center="map.center" zoom="map.zoom" draggable="true">

         <polygon ng-repeat="poly in mapPolygons" path="poly.path" fill="poly.fill" stroke="poly.stroke"></polygon>

    </google-map>

每次我尝试填充

$scope.mapPolygons = [{
        path: [{
            latitude: 32.22,
            longitude: 34.33
            },
            {
                latitude: 0.22,
                longitude: 0.33
            },
            {
                latitude: 32.22,
                longitude: 35.33
            },
            {
                latitude: 12.22,
                longitude: 12.33
            }],
        fill: {
            color: "#00bbf2",
            opacity: 0.8
        },
        stroke: {
            color: "#cacaca",
            weight: 5,
            opacity: 1.0
        }
    }];

我收到以下错误:错误:[$ rootScope:inprog] $ digest已在进行中

我错过了什么?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,最后直接使用了地图对象。

我将map指令的控制方法绑定到$ scope.control。然后我必须等到谷歌地图激发tilesloaded事件。然后我可以用。获取地图对象。

gMap = $scope.control.getGMap();

获得地图对象后,我以非Angular方式向其添加多边形。

这非常hacky,我希望能够使用polygon指令。