当用户移动地图时,阻止 MKMapView 移动到用户的当前位置

Fel*_*v.- 5 mapkit mkmapview ios

我正在制作一个应用程序来显示用户当前位置附近的一些地方。当用户移动地图时,地图会一遍又一遍地将用户移动到他的当前位置。因此,用户无法看到地图上的注释,因为如果他移动地图,地图就会返回到他当前的位置。

这就是我现在正在做的事情:

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
if (userLocation)
{
    MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(userLocation.coordinate, 1000, 1000);
    MKCoordinateRegion regionDelMapa = [self.mapa regionThatFits:region];
    if(isnan(regionDelMapa.center.latitude))
    {
        NSLog(@"Bad region...");
    }else
    {
        [self.mapa setRegion:regionDelMapa animated:YES];
    }
}   
}
Run Code Online (Sandbox Code Playgroud)

我在这里尝试了一些其他答案,但没有任何反应。这不是所需的行为,那么我怎样才能停止更新用户的当前位置呢?

Cal*_*leb 3

[self.mapa setRegion:regionDelMapa animated:YES];
Run Code Online (Sandbox Code Playgroud)

该线设置地图区域。每次获得更新时,您都会执行该代码,从而重置地图覆盖的区域。如果您不希望地图在每次更新时重新以用户位置为中心,请从该-mapView:didUpdateUserLocation:方法中删除该代码。

如果您希望将地图以用户为中心一次,然后允许用户滚动离开该位置,请使用核心位置来获取用户的位置。