2013-02-25 36 views
5

के अलावा अन्य दृश्यों में Google मानचित्र एसडीके का उपयोग करके मैं स्टोरीबोर्ड में बनाए गए मुख्य दृश्य के सबव्यूव में आईओएस के लिए Google मानचित्र एसडीके का उपयोग करने की कोशिश कर रहा हूं और आईबीओलेट (I) के माध्यम से व्यू कंट्रोलर से जुड़ा हुआ हूं। इसे अतिरिक्त दृश्य कहा जाता है, UIView से उपclassed)। जब मैं एसडीके में गाइड शुरू करने के चरणों का पालन करता हूं, तो एसडीके ठीक काम करता है, लेकिन यह पदानुक्रम (मुख्य दृश्य) में सबसे ऊपर दृश्य का उपयोग करता है, जो मैं नहीं चाहता। मैं चाहता हूं कि मेरा नक्शा स्क्रीन के एक छोटे हिस्से में हो और बाकी स्क्रीन के लिए बाकी स्क्रीन का उपयोग करें। जब मैं mapView_ ऑब्जेक्ट (प्रारंभ करने की मार्गदर्शिका देखें) को self.extraView को self.view के बजाय असाइन करने का प्रयास करता हूं, तो पूरी स्क्रीन काली होती है और मुझे कंसोल आउटपुट में त्रुटि मिलती है:मुख्य दृश्य

"एप्लिकेशन विंडो से अपेक्षा की जाती है एप्लिकेशन लॉन्च के अंत में रूट व्यू कंट्रोलर है "

क्या किसी और ने इसे समझ लिया है? मुझे प्रलेखन में कुछ भी नहीं मिला है और Google द्वारा उपलब्ध नमूना कोड स्टोरीबोर्ड का उपयोग नहीं करता है।

उत्तर

13

यहाँ कैसे ...

  • दृश्य नियंत्रक जहां काम कर रहे हैं
  • सेट वर्ग की पहचान निरीक्षक में GMSMapView होने के लिए यह है में एक UIView जोड़ने है।

फिर इसे किसी भी अन्य आउटलेट के रूप में अपने कोड पर नियंत्रित करें।

आप lazily अपने सेटर में यह दृष्टांत कर सकते हैं ...

- (void) setMapView:(GMSMapView *)mapView { 
    if (!mapView) { 
     mapView = [[GMSMapView alloc] initWithFrame:mapView.bounds]; 
    } 
    _mapView = mapView; 
} 

मानचित्र गूगल के नमूना कोड हो जाता है प्रदर्शित करने के लिए ...

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285 
                  longitude:103.848 
                   zoom:12]; 
    self.mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; 
+0

अपने त्वरित प्रतिक्रिया के लिए धन्यवाद xcode पर है। दुर्भाग्यवश, मुझे अभी भी एक ही समस्या का सामना करना पड़ रहा है। मेरे पास अन्य अन्य प्रोजेक्ट में कुछ अतिरिक्त चीजें थीं, इसलिए मैंने पत्र के लिए Google के निर्देशों के बाद एक नई परियोजना बनाई। यह अपेक्षित के रूप में काम करता था, इसलिए मैंने लोडव्यू विधि से कोड साफ़ कर दिया और वास्तव में आपके निर्देशों का पालन किया। मैंने ड्रॉमैप नामक एक विधि में कोड का दूसरा ब्लॉक रखा है जिसे viewSelector का उपयोग करके viewDidLoad विधि द्वारा कॉल किया जाता है: withObject: afterDelay: 5 की देरी के बाद। इससे पता चला कि नक्शा खींचा जाने से पहले चेतावनी दिखाई देती है। drawMap अभी भी कहा जाता है, लेकिन कोई नक्शा खींचा नहीं है। – user2105505

+2

मैंने इसे समझ लिया! आपका समाधान पूरी तरह से काम करता है, मैं बस खाली लोड दृश्य विधि को हटाने के लिए भूल गया। चूंकि इसमें कुछ भी नहीं था, इसलिए यह त्रुटि उत्पन्न कर रहा था। धन्यवाद! – user2105505

+0

जो अद्भुत था: डी – Omarj

3

मैं मेरी समस्या सिर्फ loadview कोड को निकालने के हल कि मैंने उदाहरण से लिया। बस साइबरले के रूप में एक दृश्य जोड़ना कहा जाना चाहिए।

सिर्फ और बात पर, पहचान निरीक्षक पर, उस गुण आप बदलना होगा कि वर्ग, कम से कम यह 4.5

+0

धन्यवाद - मैंने आपके सुझाव को दर्शाने के लिए ऊपर स्पष्ट किया – sberley

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^