谷歌地图多边形在设置选项后不更新颜色
Google maps polygon not updating color after setOptions?
我正在使用Google Maps API和AngularJS。我有以下函数来使用setOptions
:更改多边形的颜色
desk.modColor = function (color) {
desk.setOptions({ fillColor: color });
}
我从angularJS中调用它,代码如下:
$scope.focusedDesk.modColor('#0592fa');
然而,这只在大约75%的时间内起作用。在AngularJS中进行了足够的范围操作后,这将停止工作。如果在modColor
调用之后立即console.log
desk
对象,则它具有正确的fillColor
,但地图上的多边形尚未在视觉上更新。
你知道为什么会这样吗?是否有任何方法可以确保setOptions
在视觉上更新地图/多边形?谢谢
条件1
如果您在angularJS中以任何形式操作DOM,您可能应该使用指令在这种情况下,你应该写一个指令来为你做这件事:
angular.module('myModule',[])
.directive('myDirective',function(){
return {
scope: { focusedDesk:'=' },
link: function(scope, iElement, iAttrs){
scope.$watch('your-whatever-object-or-property-you-want-to-watch-over', function(){
//your desired action
})
}
}
})
其用法如下:
<div my-directive focusedDesk='focusedDesk'></div>
条件2
如果您只关心属性的值,则可以在controller
函数
$scope.$watch
事实证明,我用来更改多边形颜色的代码没有任何问题。我的其他一些代码是复制多边形,所以它们会堆叠起来,高亮显示的多边形会被新的副本隐藏。
是否有任何方法可以确保setOptions更新贴图/多边形视觉上?
是的,请致电
if (!$scope.$$phase) {$scope.$apply();}
相关文章:
- 通过Ember颜色选择器更新SCSS变量
- 手动更新引导程序颜色选择器
- 动态更新breadcrumb&高亮显示活动颜色
- c3js - 使用 chart.load() 使用颜色数组更新图表颜色
- 如何更新 C3.js图形线宽和刻度颜色
- DC.js 应用过滤器后热图颜色范围未更新
- 更新 IE10 固定网站的后退/前进按钮的颜色而不刷新
- 美国地图拉菲尔插件自动更新和动态填充颜色
- 动态更新谷歌地理图表的颜色
- Jquery 数据表更新单元格文本值和颜色
- 谷歌地图多边形在设置选项后不更新颜色
- Flotr2,图形上的颜色已更改,图例不更新
- 用新值更新JQVMap-map(颜色更改)
- 代码更新颜色,但不更新实际文本
- AJAX数据库更新与CSS按钮颜色改变使用Codeigniter
- 尝试创建和更新一个随机颜色的表
- ASP.在没有回发或更新面板的情况下单击时更改链接按钮的颜色
- 更新ExtJS 6图表中的图例颜色
- 在JavaScript中快速绘制/更新二维正方形数组颜色的方法
- 传单.js choropleth示例-基于单独的数据文件更新颜色