Angularjs ng贴图动态更改形状的颜色

Angularjs ng贴图动态更改形状的颜色,angularjs,ng-map,Angularjs,Ng Map,我正在使用NgMap和angular 1显示谷歌地图,并在上面绘制各种形状。 我试图通过改变一个范围变量来动态改变形状的颜色 在模板中,我有: <shape id="circle" name="circle" fill-color='{{circle.color}}' stroke-color='{{circle.color}}' stroke-opacity="0.8" stroke-weight="2" center="[41,-87]" radius="4000" editable=

我正在使用NgMap和angular 1显示谷歌地图,并在上面绘制各种形状。 我试图通过改变一个范围变量来动态改变形状的颜色

在模板中,我有:

<shape id="circle" name="circle" fill-color='{{circle.color}}' stroke-color='{{circle.color}}' stroke-opacity="0.8" stroke-weight="2" center="[41,-87]" radius="4000" editable="false">
</shape>
请查看以下链接:

圆圈的颜色应每秒更改一次,但仍为绿色。 甚至可以使用NgMap吗?是虫子吗


谢谢

可能
fill color
不是angularjs指令,这就是为什么它不提供范围变量的实时绑定

下面是创建所需功能的替代方法

angular.module('app',['ngMap']))
.控制器(“CircleColorTestController”,CircleColorTestController);
CircleColorTestController.$inject=['$scope','$interval'];
函数CircleColorTestController($scope,$interval){
$scope.circle={
颜色:“红色”
};
变量颜色=['#FF0000'、'#00FF00'、'#0000FF'];
var i=0;
$interval(函数(){
$scope.circle.visible=颜色[i];
++一,;
如果(i>2){
i=0;
}
}, 1000);
}

nagyf的解决方案有效:

NgMap.getMap().then(map=>{map.shapes.circle.set('fillColor', '#FF0000')})

Plunker:

代码中没有错误,填充颜色属性正在更改。但是它没有改变,因为它不是css属性。填充颜色用作配置属性。好的,谢谢,这不是最好的api。它应该是一致的,要么所有参数都应该提供实时绑定,要么没有。(例如绑定位置或半径有效)我接受了你的答案,但在我的申请中,我选择了不同的解决方案。我使用
NgMap.getMap(…)
获取map实例,并在map实例的shape数组中找到ID正确的圆实例,然后调用
circle.set('fill-color','#FF0000')
NgMap.getMap().then(map=>{map.shapes.circle.set('fillColor', '#FF0000')})