ios - 第一次使用 MKMapView 的问题

标签 ios mkmapview cllocationmanager

我有一个 MKMapView,但是当用户第一次登录并允许位置服务时,它不会显示位置。如果他们离开 View 再回来,它就会起作用。我正在使用下面列出的内容来解决该问题。它解决了问题,但用户无法再缩放,因为当更新位置时,会将它们带回指定位置。在使滚动工作时如何解决第一个问题。

这是我正在使用的:

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {

    MKUserLocation *myLocation = [self.schoolMap userLocation];
    CLLocationCoordinate2D coord = [[myLocation location] coordinate];
    MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(coord, 9000, 9000);
    [self.schoolMap setRegion:region animated:NO];
}

最佳答案

根本不要使用位置管理器。只需告诉 map View 跟踪用户的位置。然后实现这个委托(delegate)方法:

- (void)mapView:(MKMapView *)mapView
        didUpdateUserLocation:(MKUserLocation *)userLocation {
    CLLocationCoordinate2D coordinate = userLocation.location.coordinate;
    MKCoordinateRegion reg =
        MKCoordinateRegionMakeWithDistance(coordinate, 600, 600);
    mapView.region = reg;
}

现在,每次用户移动时都会尝试设置 map ,所以如果您不想这样,请添加一个 BOOL 开关,以便您只在第一次执行此操作(本地图第一次 获取用户位置)。

关于ios - 第一次使用 MKMapView 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21923624/

相关文章:

ios - NSURLConnection 响应的 expectedContentLength -1

ios - 减去两个 MKCircle 或者如何在 MapKit 的 map 上画一个环?

iphone - 使用MKMapView时如何设置精度和距离过滤器

ios - 在 xcode/swift 中使用位置管理器获取用户的当前位置时,我得到的值为 nil。有什么建议么?

ios - CloudKit 错误区分

Ios Alert on first launch 设置通知

iphone - 更新 iOS 7 map 相机旋转的 map 注释

ios - 区域确实改变了准确性

ios - swift2 将文本文件的内容加载到变量中

ios - 使用 MKMapView 时出错