2011-09-06 23 views
6

मैं यूआईबटन मौसम उपयोगकर्ता के वर्तमान स्थान को छुपा या दिखाने के लिए मानचित्र पर दिखाना चाहता हूं। कोड xcode का परीक्षण करते समय, यदि उपयोगकर्ता स्थान मानचित्र पर दिखाई नहीं देता है तो मैं "didUpdateLocation" विधि में कंसोल पर "User location view is NOT visible but should be. Showing...." देख सकता हूं। UIButton को छिपाने या दिखाने के लिए मेरे मामले में ईवेंट जेनरेट करने के लिए मैं इस संदेश का उपयोग कैसे कर सकता हूं? अग्रिम में किसी भी मदद के लिए धन्यवाद।जांचें कि उपयोगकर्ता का स्थान मानचित्र पर दिख रहा है आईफोन

उत्तर

11

आप को पता है उपयोगकर्ता स्थान वर्तमान में प्रदर्शित नक्शा क्षेत्र में निहित है कि क्या चाहते हैं, आप regionDidChangeAnimated प्रतिनिधि विधि में userLocationVisible संपत्ति की जाँच कर सकते हैं:

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated 
{ 
    someButton.hidden = !mapView.userLocationVisible; 
} 

आप तो तभी उसे पता करने के लिए कि क्या उपयोगकर्ता स्थान वर्तमान में एक मूल्य है चाहता हूँ (चाहे वह दृश्य या नहीं है और showsUserLocation पर है या नहीं),:

if (mapView.userLocation.location == nil) 
    NSLog(@"user location not obtained yet"); 
else 
    NSLog(@"user location available (may or may not be currently visible)"): 
+0

बहुत बहुत धन्यवाद। यह पूरी तरह से काम किया .... !! @Ron आपकी प्रतिक्रिया के लिए धन्यवाद। – alekhine

1

यदि उपयोगकर्ता का स्थान दिखाई नहीं देता है तो आपको वर्तमान lat, long नहीं मिलता है। अगर लेट, लम्बा == 0. स्थिति को छुपाएं या दिखाएं तो स्थिति डालें। यह केवल डिवाइस (जीपीएस) पर काम करता है

4

उपयोगकर्ता स्थान Visible नामक संपत्ति है।

एप्पल डॉक्स

में एक बूलियन मान यह बताते हैं कि उपकरण के वर्तमान स्थान मानचित्र दृश्य में दिखाई देता है। (केवल पढ़ने के लिए)

+0

Thnaks। आपके जवाब में मदद मिली। – alekhine