为什么我的用户位置总是在中心?
Why my user location is always in center?
我的应用程序中有一张地图,我在地图打开时设置了中心用户位置。
我用过这个代码:
map.delegate=Self;
......
-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {
MKCoordinateRegion mapRegion;
mapRegion.center = self.mapView.userLocation.coordinate;
mapRegion.span = MKCoordinateSpanMake(0.5, 0.5); //Zoom distance
[self.mapView setRegion:mapRegion animated: YES];
}
但是当我移动地图时它又回到了用户位置。
如何在不关心用户位置的情况下自由移动到我的地图?
这是因为每次用户位置更改时您都在重置位置。您应该只执行一次,例如
-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {
if (self.centerToUserLocation)
{
MKCoordinateRegion mapRegion;
mapRegion.center = self.mapView.userLocation.coordinate;
mapRegion.span = MKCoordinateSpanMake(0.5, 0.5); //Zoom distance
[self.mapView setRegion:mapRegion animated: YES];
self.centerToUserLocation = NO;
}
}
其中 centerToUserLocation
类似于 @property (nonatomic) BOOL centerToUserLocation
我的应用程序中有一张地图,我在地图打开时设置了中心用户位置。 我用过这个代码:
map.delegate=Self;
......
-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {
MKCoordinateRegion mapRegion;
mapRegion.center = self.mapView.userLocation.coordinate;
mapRegion.span = MKCoordinateSpanMake(0.5, 0.5); //Zoom distance
[self.mapView setRegion:mapRegion animated: YES];
}
但是当我移动地图时它又回到了用户位置。 如何在不关心用户位置的情况下自由移动到我的地图?
这是因为每次用户位置更改时您都在重置位置。您应该只执行一次,例如
-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {
if (self.centerToUserLocation)
{
MKCoordinateRegion mapRegion;
mapRegion.center = self.mapView.userLocation.coordinate;
mapRegion.span = MKCoordinateSpanMake(0.5, 0.5); //Zoom distance
[self.mapView setRegion:mapRegion animated: YES];
self.centerToUserLocation = NO;
}
}
其中 centerToUserLocation
类似于 @property (nonatomic) BOOL centerToUserLocation