Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 离子/角度贴图中的传单贴图显示灰色瓷砖_Angularjs_Ionic Framework_Leaflet_Ionic - Fatal编程技术网

Angularjs 离子/角度贴图中的传单贴图显示灰色瓷砖

Angularjs 离子/角度贴图中的传单贴图显示灰色瓷砖,angularjs,ionic-framework,leaflet,ionic,Angularjs,Ionic Framework,Leaflet,Ionic,我正在使用ionic和传单开发一个地图应用程序。请注意,我没有使用传单角度指令,我使用的是传单贴图的直JS(我知道,我知道…) 我的应用程序中的初始状态可以加载传单地图。如果我切换到另一个州,回到地图上,一切都很好。但是,如果我启动应用程序,切换到另一个状态并在该状态下打开一个模式窗口,然后返回到原始状态,则地图将被破坏并显示许多灰色瓷砖。在浏览器窗口调整大小或移动设备的方向更改之前,地图不会更新 以下是关于Plunker的演示:。复制: 单击导航栏右侧的按钮,将带您进入不同的状态 单击“返回地

我正在使用ionic和传单开发一个地图应用程序。请注意,我没有使用传单角度指令,我使用的是传单贴图的直JS(我知道,我知道…)

我的应用程序中的初始状态可以加载传单地图。如果我切换到另一个州,回到地图上,一切都很好。但是,如果我启动应用程序,切换到另一个状态并在该状态下打开一个模式窗口,然后返回到原始状态,则地图将被破坏并显示许多灰色瓷砖。在浏览器窗口调整大小或移动设备的方向更改之前,地图不会更新

以下是关于Plunker的演示:。复制:

  • 单击导航栏右侧的按钮,将带您进入不同的状态
  • 单击“返回地图”按钮返回原始状态。这张地图看起来不错
  • 再次单击导航栏中的按钮
  • 单击“打开模式”按钮,然后关闭模式
  • 单击“返回地图”按钮,您将看到地图现在已断开
  • 我见过其他人报告灰色瓷砖的问题,这通常可以通过拨打以下电话来解决:

    map.invalidateSize()
    
    不幸的是,这并不能解决我的问题。我基本上是个新手,但我认为问题在于,当模式打开时,传单源代码中的invalidateSize()方法会运行,因为map div不可见,“size”设置为x:0,y:0,当我转换回原始状态时,它会破坏映射

    我真的不知道接下来该怎么办。也许我可以使用JS动态调整div的大小,并欺骗传单,使其认为发生了调整大小事件?我该怎么做?还有其他想法吗


    谢谢

    我找到了一个解决我问题的方法。我可以侦听$stateChangeSuccess事件,如果我正在使用传单映射进入状态,则可以发送一个调整大小事件:在这几个月后,您是否找到了任何适当的解决方法?除了我在侦听$stateChangeSuccessuccess事件时提到的解决方案外,我没有找到其他解决方案:$rootScope.$on(“$stateChangeSuccess”,函数)(event,toState,toParams,fromState,fromState,fromsparams){if(toState.name=='app'){$window.dispatchEvent(new event('resize'));}}});谢谢,
    $ionicScrollDelegate.resize();
    不起作用。
    window.dispatchEvent(new event('resize'));
    对我有效。框架之上的另一个框架存在丑陋的bug。