2017-01-16 4 views
5

बदल रहा है मैं अपने ऐप में Google मानचित्र प्रदर्शित करने के लिए WKWebView का उपयोग कर रहा हूं। http://ec2-54-198-148-171.compute-1.amazonaws.com/map_question.htmlवेबव्यू सफेद/खाली

बाद App में WKWebView प्रदर्शित करने के लिए कोड है:: यह URL है

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)    
    } 

} 

समस्या है जब मैं की तरह मानचित्र के साथ बातचीत करने की कोशिश ज़ूम बाहर ज़ूम में या तो स्क्रॉल मेरी नक्शा ऐप में सफेद हो जाता है। नक्शा वेब ब्राउजर में ठीक काम करता है जिसके परिणामस्वरूप सफेद स्क्रीन होती है।

क्या इस के पीछे समस्या जानने के लिए कोई तरीका है? इस समस्या को कैसे ठीक करें?

+0

कि नक्शा भी मेरे डेस्कटॉप कंप्यूटर को धीमा कर देता है; मैं सोच रहा हूं कि क्या खराब आईओएस वास्तविक समय में उससे निपट नहीं सकता है। – holex

+4

"मैं अपने ऐप में Google मानचित्र प्रदर्शित करने के लिए WKWebView का उपयोग कर रहा हूं" लेकिन Google आपको ऐसा करने के लिए एक एपीआई देता है। इसके बजाय इसका उपयोग क्यों नहीं करते? – matt

+0

मुझे फ़्यूज़नटेबल परत और डेटा परत का उपयोग करना पड़ा। ये Google मानचित्र के आईओएस संस्करण में उपलब्ध नहीं हैं। – dang

उत्तर

5

समस्या WKWebView में नहीं है, link आप लोड करने की कोशिश कर रहे हैं 2k + मार्कर हैं जो एक पीसी पर क्रोम ब्राउज़र पर भी MapView को अधिभारित करते हैं, और यह आपकी समस्या का स्रोत है।

संभावित समाधानों में से एक है अपने एचटीएमएल/जावास्क्रिप्ट कोड में Marker Clustering जोड़ने के लिए। आप इसे जोड़ने के लिए official google maps documentation का पालन कर सकते हैं।

आधिकारिक Google मानचित्र मार्कर क्लस्टरर लाइब्रेरी भंडार here है।