为什么圈子不更新?

时间:2015-08-06 15:16:57

标签: angularjs google-maps

为什么圆圈不会改变他的半径?

1 个答案:

答案 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的推荐答案,那将会很好。)。