2013-11-25 4 views
7

में GMSMapView विधियों को बहिष्कृत किया गया IOS के लिए Google मानचित्र API के संस्करण 1.6 का उपयोग करने के लिए मैंने अपना ऐप अपडेट किया। अब यह मेरे से पता चलता है कि GMSMapView के तीन महत्वपूर्ण तरीकों अनुचित हैं:संस्करण 1.6

'markers' is deprecated 
'polylines' is deprecated 
'groundOverlays' is deprecated 

पहले तो मैंने सोचा कि यह मेरी तरफ एक समस्या हो सकती है गूगल के दस्तावेज में इस का कोई जिक्र नहीं है क्योंकि, लेकिन फिर मैं हेडर फाइल देखा और पाया है कि वे वास्तव में पदावनत कर रहे हैं लेकिन वे आदेश एक ही बात को प्राप्त करने के उपयोग करने के लिए एक वैकल्पिक तरीका निर्दिष्ट नहीं करते हैं कि: पदावनत तरीकों का उपयोग कर के बिना

- (NSArray *)markers __GMS_AVAILABLE_BUT_DEPRECATED; 
- (NSArray *)groundOverlays __GMS_AVAILABLE_BUT_DEPRECATED; 
- (NSArray *)polylines __GMS_AVAILABLE_BUT_DEPRECATED; 

किसी ने मुझसे ऐसा करने के तरीके को इंगित कर सकते हैं? धन्यवाद!

संपादित करें: मैं सिर्फ एक तरीका है जहाँ आप कर सकते हैं [mapView clear] जो मानचित्र से सभी मार्करों और पोलीलाइंस को दूर होता है, वहाँ किसी भी तरह से केवल मार्कर को हटाने के बिना सभी पोलीलाइंस दूर करने के लिए है पाया?

उत्तर

5

सुपर अजीब कि उन्होंने दस्तावेज़ों में इसका उल्लेख नहीं किया। स्रोत कोड में, वे उल्लेख है कि वे एक भविष्य के रिलीज में इसे बाहर ले जा कर दिया जाएगा:

नोट: iOS के लिए Google नक्शे SDK के 1.2 में, इन तरीकों का बहिष्कार कर रहे हैं। वे एसडीके के बाद के रिलीज में प्रकट नहीं हो सकते हैं। इन तरीकों का उपयोग करने के बजाय, हम सुझाव देते हैं कि आप GMSMapView में जोड़े गए ओवरले के लिए अपने संदर्भ बनाए रखें।

ऐसा लगता है कि वे डेवलपर्स के रूप में हमें अतिरिक्त ओवरले के संदर्भ रखने के लिए आगे बढ़ रहे हैं। मैं अपने ऐप में NSMutableArray जोड़कर मार्कर बनाकर करता हूं। हर बार जब मैं मानचित्र पर मार्कर जोड़ता हूं, तो इसे सरणी में जोड़ा जाता है।

मुझे लगता है कि आप पॉलिलाइन और जमीन ओवरले के साथ ऐसा ही कर सकते हैं। उनमें से प्रत्येक अपनी कक्षा है इसलिए उन्हें समूहित करना मुश्किल नहीं होना चाहिए और यदि आपको आवश्यकता हो तो उन्हें बाद में पहचानना चाहिए।

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