这有点奇怪,但我一直试图找到一个解决方案2天,设置地图区域,但似乎没有任何工作 这是我的代码:
-(void)viewWillAppear:(BOOL)animated{
//[self step1locationupdate];
Maplocation.showsUserLocation=YES;
MKCoordinateRegion mapRegion;
mapRegion.center.longitude=self.currentProduct.shop.longcoordinate;
mapRegion.center.latitude=self.currentProduct.shop.latcoordinate;
NSLog(@"The USer Location are :%f",mapRegion.center.latitude);
mapRegion.span.latitudeDelta= 2;
mapRegion.span.longitudeDelta= 2;
[Maplocation setRegion:mapRegion animated:YES];
NSLog(@"The USer Location are :%f %f",Maplocation.userLocation.coordinate.latitude,Maplocation.userLocation.coordinate.longitude);
}
NSLog for malocation.userlocation.coordinate在启动时始终为0。 我将它添加到viewDidLoad part&中的相同代码也没有区别
请帮助
答案 0 :(得分:0)
我认为您需要在开始使用之前初始化MKCoordinateRegion。像'MKCoordinateRegion mapRegion = MKMakeRegionWithCoordinates(......'
答案 1 :(得分:0)
我已经在(void)方法中保存了上面的方法,然后我在viewWillAppear方法的5秒后将其解雇了。
-(void)viewWillAppear:(BOOL)animated{
[self performSelector:@selector(updatecurrentLocation) withObject:nil afterDelay:5];
}
-(void)updatecurrentLocation{
Maplocation.showsUserLocation=YES;
MKCoordinateRegion mapregion;
mapregion.center=Maplocation.userLocation.coordinate;
mapregion.span.latitudeDelta = 2;
mapregion.span.longitudeDelta = 2;
[Maplocation setRegion:mapregion animated: YES];
}
就是那些人:)