当前位置:  开发笔记 > 编程语言 > 正文

WebView变白/空白

如何解决《WebView变白/空白》经验,为你挑选了1个好方法。

我正在使用WKWebView在我的应用程序中显示谷歌地图.这是URL:http://ec2-54-198-148-171.compute-1.amazonaws.com/map_question.html

以下是在App中显示WKWebView的代码:

import UIKit
import WebKit
import Foundation
class MyMapController: UIViewController, UIScrollViewDelegate, WKScriptMessageHandler  {
var webViewGeo: WKWebView?
 var WidgetView:UIView = UIView()

  override func loadView() {
    super.loadView()  

    let contentController = WKUserContentController();       
    contentController.addScriptMessageHandler(
        self,
        name: "callbackHandler"
    )


    let config = WKWebViewConfiguration()
    config.userContentController = contentController


    self.webViewGeo = WKWebView(
        frame: self.WidgetView.bounds,
        configuration: config
    )
    self.WidgetView = self.webViewGeo!       
}



 override func viewDidLoad() {
        super.viewDidLoad()      
        let frame = CGRect(x:0, y:-20, width:self.view.bounds.width, height:self.view.bounds.width)
        WidgetView.frame=frame       
        let url = NSURL(string:"http://ec2-54-198-148-171.compute-1.amazonaws.com/map_question.html")
        let req = NSURLRequest(URL:url!)
        self.webViewGeo!.loadRequest(req)
        self.view.addSubview(WidgetView)             
    }

}

问题是当我尝试与地图进行交互时,如放大缩小或滚动,然后我在应用程序中的地图变为白色.地图在Web浏览器中工作正常,但不会导致白屏.

有没有办法了解这背后的问题?如何解决这个问题?



1> 小智..:

问题不在WKWebView中,您尝试加载的链接有2k +标记,即使在PC上的Chrome浏览器上也会使MapView过载,这就是问题的根源.

一种可能的解决方案是将标记聚类添加到您的html/javascript代码中.您可以按照官方谷歌地图文档添加它.

官方谷歌地图标记群集库存储库在这里.

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有