【问题标题】:Drop pin in Mapview issue in iOS 8在 iOS 8 中的 Mapview 问题中放置 pin
【发布时间】:2015-09-28 20:50:23
【问题描述】:
    if (nil == locationManager)
        locationManager = [[CLLocationManager alloc] init];

    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;

    locationManager.distanceFilter = 500;

    [locationManager startUpdatingLocation];
    [locationManager stopUpdatingLocation];
    [locationManager startUpdatingLocation];
}

以上代码在 iOS 8 之前都可以正常工作。 在 ios 8 中,放置图钉未显示在 mapview 中。 是的 ios 目标是 ios 7 及更高版本。 我也尝试了几种方法,但都不起作用。

有什么解决办法吗?

【问题讨论】:

  • 为什么要调用 startUpdatingLocation 方法两次?

标签: ios objective-c mkmapview cllocationmanager


【解决方案1】:

我以前遇到过这种情况。由于 iOS8 中的核心位置管理器更改,存在位置授权问题。在调用 startUpdatingLocation 之前尝试添加以下代码:

    if ([self._locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) 
    {
        [self._locationManager requestWhenInUseAuthorization];
    }
    self.mapView.showsUserLocation = YES; //optional

在此之前,请确保将以下一项或两项添加到您的 Info.plist 文件中:

  • NSLocationWhenInUseUsageDescription
  • NSLocationAlwaysUsageDescription

【讨论】:

    猜你喜欢
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 2014-05-22
    • 1970-01-01
    相关资源
    最近更新 更多