मैं वर्तमान में मैपकिट के साथ काम कर रहा हूं और फंस गया हूं।
मेरे पास एक कस्टम एनोटेशन दृश्य है जिसका मैं उपयोग कर रहा हूं, और मैं अपने स्वयं के आइकन के साथ मानचित्र पर बिंदु को प्रदर्शित करने के लिए छवि संपत्ति का उपयोग करना चाहता हूं। मेरे पास यह काम ठीक है। लेकिन मैं यह भी करना चाहूंगा कि डिफॉल्ट कॉलआउट दृश्य को ओवरराइड करना है (एनोटेशन आइकन को छूने पर शीर्षक / उपशीर्षक के साथ दिखाई देने वाला बुलबुला)। मैं कॉलआउट को स्वयं नियंत्रित करने में सक्षम होना चाहता हूं: मैपकिट केवल बाएं और दाएं सहायक कॉलआउट विचारों तक पहुंच प्रदान करता है, लेकिन कॉलआउट बुलबुले के लिए एक कस्टम दृश्य प्रदान करने का कोई तरीका नहीं है, या इसे शून्य आकार, या कुछ और देने के लिए।
मेरा विचार अपने में selectAnnotation / deselectAnnotation को ओवरराइड करने का था MKMapViewDelegate
, और फिर मेरे कस्टम एनोटेशन दृश्य के लिए कॉल करके अपना स्वयं का कस्टम दृश्य ड्रा करें। यह काम करता है, लेकिन केवल जब मेरे कस्टम एनोटेशन व्यू क्लास में canShowCallout
सेट किया YES
जाता है। इन विधियों को नहीं बुलाया जाता है अगर मेरे पास यह सेट है NO
(जो कि मैं चाहता हूं, ताकि डिफ़ॉल्ट कॉलआउट बुलबुला तैयार न हो)। इसलिए मुझे यह जानने का कोई तरीका नहीं है कि क्या उपयोगकर्ता ने मानचित्र पर मेरी बात को चुना (इसे चुना) या एक बिंदु को छुआ जो कि डिफ़ॉल्ट कॉलआउट बबल व्यू शो के बिना मेरे एनोटेशन विचारों (इसे हटा दिया गया) का हिस्सा नहीं है।
मैंने एक अलग रास्ते पर जाने की कोशिश की और बस सभी स्पर्श घटनाओं को नक्शे में खुद को संभाल रहा हूं, और मुझे यह काम नहीं मिल रहा है। मैं मानचित्र दृश्य में स्पर्श घटनाओं को पकड़ने से संबंधित अन्य पोस्ट पढ़ता हूं, लेकिन वे वैसा नहीं हैं जैसा मैं चाहता हूं। क्या ड्राइंग से पहले कॉलआउट बुलबुले को हटाने के लिए मानचित्र दृश्य में खुदाई करने का एक तरीका है? मुझे हानि हो रही है।
कोई सुझाव? क्या मुझसे साफ़ - साफ़ कुछ चीज़ चूक रही है?