2009-10-05 15 views
8

के साथ अनुभव मेरे पास एक MKMapView है कि मैं अपने उपयोगकर्ताओं को एनोटेशन की श्रृंखला को अधिक आसानी से प्रदर्शित करने के लिए घूर्णन पर विचार कर रहा हूं।MKMapView रोटेशन

अभी तक मैं पूरी तरह से एक CGAffineTransform के साथ पूरे दृश्य को घूर्णन करने की योजना बना रहा हूं, लेकिन मैं जानना चाहता था कि किसी को MKMapView रोटेशन के साथ कोई अनुभव है या नहीं।

  • क्या कोई नुकसान या "गॉथचास" है जो आप घूर्णन जोड़ने के दौरान आए थे?
  • क्या नक्शादृश्य घुमाने के लिए कोई आसान तरीका है?
  • यदि मेरे पास ओवरले है तो कनवर्ट करें समन्वय: toPointToView: विधि अभी भी वैसे ही काम करती है? मुझे लगता है कि अंक को लाइन करने के लिए मुझे अपने ओवरले में एक ही ट्रांसफॉर्म लागू करना होगा, लेकिन हो सकता है कि विधि उससे बेहतर हो।

यदि ऐसा कुछ भी है जो आपको लगता है कि मैं मदद कर सकता हूं तो मुझे यह सब सुनना अच्छा लगेगा।


संपादित करें: ज्यादा प्रयोग करने के बाद मुझे विश्वास है कि मैं स्थिर नक्शे है कि मैं बारी बारी से और अपने आप को ओवरले कर सकते हैं का उपयोग किया जाएगा, हालांकि, मैं अब भी MKMapView रोटेशन के बारे में कोई भी जानकारी में रुचि होगी।

उत्तर

1

मैं MKMapView रोटेशन के साथ काम करना शुरू किया और पाया है कि:

  • जब आप नक्शा करने के लिए एक CGAffineTransform विधि convertCoordinate देखने लागू होते हैं: toPointToView: काम करता है एक ही।
  • टिप्पणियां एनोटेशन टेक्स्ट सहित दृश्य के साथ घूमती हैं।
  • जो फ़ील्ड अभी भी फिट बैठता है वह स्क्रीन पर किसी क्षेत्र के लिए उपयुक्त प्रतीत होता है, यह मानचित्र दृश्य के लिए उपयुक्त नहीं है (मैंने अपना नक्शा दृश्य अपने मूल दृश्य से बड़ा बना दिया है ताकि यह पीछे के दृश्य को दिखाए बिना घूम सके)।
8

मैं अपने आवेदन में घूर्णन MKMapView का उपयोग करने की भी योजना बना रहा हूं।

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{ 
    ... 
    annotationView.transform = GAffineTransformInvert(mapView.transform); 
    ... 
} 

यह मेरे लिए काम करने के लिए लगता है: एनोटेशन unrotated मैं निम्नलिखित कोड का उपयोग दिखाने के लिए।

+0

जानकारी के लिए धन्यवाद, मुझे लगता है कि एनोटेशन व्यू ट्रांसफॉर्म केवल रोटेशन को प्रभावित करता है? वह स्थिति कुछ अन्य परिवर्तन का एक कार्य है? कोड के लिए – jessecurry

6

एक पूर्ण विषय को पुनर्जीवित करने के लिए खेद है, लेकिन एक और 'गॉचा': यदि आप अपने मानचित्र दृश्य को घुमाने के लिए पर्याप्त बड़े आकार के आकार में आकार देते हैं ताकि यह हमेशा पूरी स्क्रीन को कवर कर सके तो आप 'Google' लोगो को क्रॉप करना समाप्त कर देंगे नीचे बाईं ओर से। यह स्पष्ट रूप से उस लाइसेंस के विपरीत है जिसके अंतर्गत आप MapKit का उपयोग करते हैं और ऐप अस्वीकृति के आधार हो सकते हैं। व्यावहारिक रूप से, शीर्ष पर UIImageView के रूप में Google लोगो का एक स्थिर संस्करण जोड़ना सभी पार्टियों द्वारा स्वीकार्य माना जाता है।

+1

अच्छा बिंदु। आप वास्तव में MKMapView से "Google" लोगो पुनर्प्राप्त कर सकते हैं। MKMapView में 2 सबव्यूव हैं, एक UIImageView है जिसमें लोगो शामिल है। मैंने अपना खुद का UIImageView बनाया और अपनी छवि प्रॉपर्टी को MKMapView में से एक के समान सेट किया और यह काम करता है। Google लोगो अनारक्षित दिखाता है। – Fraggle