为什么圆圈不会改变他的半径?
aaaaaaa
aaaaaaa
答案 0 :(得分:0)
问题是,即使radius
属性的值发生变化,angularjs-google-maps指令也不会更新。我猜你已经看过这些属性了,看到即使半径越来越大,整个<shape>
也没有更新它的外观。
由于这个问题和答案How to re-render a template in an Angular directive?,我能够在该指令的帮助下重新渲染形状。
所以将指令包裹在<shape></shape>
<div relink-event="radiusUpdated">
<shape name="circle" ng-repeat="post in posts" stroke-color="#FF0000" stroke-opacity="0.8" stroke-weight="1" fill-color="#FF0000" fill-opacity="0.35" center="{{post.location}}" radius="{{post.postRadius*1000}}">
{{post.postRadius}}
</shape>
</div>
在$ interval函数中广播radiusUpdated现在会更新地图中的形状。我怀疑这是一个非常高性能的方法(想象每两秒重新发布数百个帖子),但也许它适用于你的情况。
这是一个有效的Plnkr:http://plnkr.co/edit/j0nO6MUCpf0Px2QwkKD1?p=preview
如果您同意SO用户rob的推荐答案,那将会很好。)。