我正在使用离子和传单制作地图应用程序。请注意,我没有使用传单角度指令,我使用直接JS作为传单地图(我知道,我知道......)。
我的应用中的初始状态加载传单地图就好了。如果我切换到另一个状态并返回地图,一切都很好。但是,如果我启动应用程序,切换到另一个状态并在该状态下打开模态窗口,然后返回到原始状态,地图被破坏并显示多个灰色图块。在浏览器窗口调整大小或移动设备的方向发生变化之前,地图不会更新。
这是关于Plunker的演示:http://plnkr.co/edit/w67K2b?p=preview。重现:
我见过其他人报告灰色瓷砖的问题,通常可以通过调用来解决:
map.invalidateSize()
不幸的是,这并不能解决我的问题。我几乎是一个新手,但我认为问题是当模态打开时,传单源代码中的invalidateSize()方法运行,因为map div不可见,'size'设置为x: 0,y:0,当我转换回原始状态时,最终会破坏地图。
我不确定从哪里开始。也许我可以使用JS动态调整div和技巧传单,以便认为发生了调整大小事件?我该怎么做?还有其他想法吗?
谢谢!