मुझे अपने ऐप में कोई समस्या है। मैं अपने ज़िप कोड को निर्धारित करने के लिए उपयोगकर्ता की स्थिति को सर्वोत्तम सटीकता के लिए ढूंढने की कोशिश कर रहा हूं। वर्तमान में मेरे पास एक बटन है, जब दबाया जाता है, locateMe
नामक एक विधि शुरू करता है।स्थान पूरी तरह से मिलने तक प्रतीक्षा कैसे करें? (कोर स्थान)
-(IBAction)locateMe; {
self.locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
तब मैं didUpdateToLocation:
-(void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation; {
NSLog(@"Found location! %f,%f",newLocation.coordinate.latitude,newLocation.coordinate.longitude);
}
मैं पहले didUpdateToLocation
में और अधिक जटिल सामान किया था क्रियान्वित किया है लेकिन जैसा कि मैंने कुछ बातें परीक्षण किया मुझे एहसास हुआ कि पहले स्थान यह पाया कम से कम में सटीक नहीं था । तो, मैं वहाँ में NSLog
कॉल रख दिया और यह मुझे एक निर्गम नीचे के समान ...
Found location! 39.594093,-98.614834
Found location! 39.601372,-98.592171
Found location! 39.601372,-98.592171
Found location! 39.611444,-98.538196
Found location! 39.611444,-98.538196
आप देख सकते हैं, यह पहली मुझे जो भीतर समस्याओं के कारण किया गया था एक मूल्य है, जो सही नहीं है देता है दे दी है मेरी ऐप क्योंकि यह सही स्थान नहीं दे रहा था।
तो, मेरा प्रश्न यहां है। क्या कोई तरीका है कि मैं स्थान प्रबंधक के लिए सबसे सटीक स्थान खोजने के लिए इंतजार कर सकता हूं?
अग्रिम धन्यवाद!
संपादित करें: मैं कुछ इस तरह चाहने हूँ:
if (newLocation.horizontalAccuracy <= locationManager.desiredAccuracy) {
}
लेकिन यह कभी नहीं कहा जाता हो जाता है!
अब जब आप इसका जिक्र करते हैं, तो मुझे लगता है कि जैसे ही सेटिंग दृश्य खुलता है, मुझे बस स्थान प्राप्त करना शुरू करना चाहिए (यही वह जगह है जहां मैं अपना स्थान पकड़ रहा हूं)। –
सहमत हुए। यदि आप बहुत जल्दी स्थान का पता लगाना शुरू कर देंगे - यह डिवाइस बैटरी को हटा देगा। इसलिए मैं केवल स्थान की पहचान करने की सलाह देता हूं जब यह वास्तव में आवश्यक हो। –
आपकी मदद के लिए धन्यवाद। मैं जो पहला स्थान देता हूं उसे कैसे छोड़ सकता हूं? क्या मैं काउंटर का उपयोग करूंगा? –