在我的地图视图中的应用程序中,我想显示用户当前位置最近的 10 家商店
但首先我必须先获取当前位置,然后我才能根据用户的位置显示商店
在应用程序的第一次启动中,应用程序询问用户他是否允许获取当前位置,所以我必须执行类似的操作
如果用户在地图上允许列表商店,则返回主页
现在我正在使用下面的代码:
mtMap.showsUserLocation=YES;
mymanager=[[CLLocationManager alloc] init];
mymanager.delegate=self;
CLLocation *location = [mymanager location];
CLLocationCoordinate2D coordinate2 = [location coordinate];
NSString *latitude1 = [NSString stringWithFormat:@"%f", coordinate2.latitude];
NSString *longitude1 = [NSString stringWithFormat:@"%f", coordinate2.longitude];
NSString *myURL = [[NSString alloc] initWithFormat:@"http://www.xxxx.com/xxxx/aaaaa.ashx?term=%@,%@",latitude1,longitude1];
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:myURL]];
NSInputStream *dataStream=[[NSInputStream alloc]initWithData:data];
[dataStream open];
if(dataStream)
{
NSError *err=nil;
id jsonobject=[NSJSONSerialization JSONObjectWithStream:dataStream options:NSJSONReadingAllowFragments error:&err];
if([jsonobject respondsToSelector:@selector(objectForKey:)])
{
//fill arr
}
}
但是当用户第一次打开应用程序时它不起作用,因为延迟允许或获取当前位置很晚我无法到达他所在的位置,所以我无法显示最近的地方
我的逻辑可能有问题。我的意思是我不应该在 viewDidload 中完成所有工作
那么任何人都可以帮助我如何解决这个问题?