在MapView中显示用户位置

时间:2013-10-14 10:12:15

标签: ios ios7 mkmapview cllocation

我正在编写一个带有mapView的应用程序,显示一些注释。

现在我想在mapView中显示用户的当前位置。我使用以下代码获取当前位置:

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)location

我在日志

中获取当前位置的详细信息
2013-10-14 12:03:34.291 AppName[13200:a0b] (
"<+7.35000000,+47.32000000> +/- 5.00m (speed -1.00 mps / course -1.00) @ 10/14/13, 12:03:34 PM Central European Summer Time")

现在我没有把这个位置放到mapView中作为这个蓝色脉冲点。

请提供一些提示。

4 个答案:

答案 0 :(得分:28)

您可以通过以下方式启用用户位置:

mapView.showsUserLocation = YES;

如果你想以这个位置为中心:

[mapView setCenterCoordinate:mapView.userLocation.location.coordinate animated:YES];

如果您正在使用:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{

if ([annotation isKindOfClass:[MKUserLocation class]]) {
    return nil;
}

// etc...


}

答案 1 :(得分:3)

在iOS10中,在将NSLocationWhenInUseUsageDescription密钥添加到我的Info.plist之前,我无法获得要显示的用户位置的蓝点,并在应用程序中使用字符串描述如何使用位置信息。

答案 2 :(得分:0)

在xCode 9中,你可以使用故事板文件

来完成

enter image description here

答案 3 :(得分:0)

我遇到了同样的情况,因为我删除了AnnotationViews的类型检查代码,因为我不再需要了。因此,我制作了@incmiko答案的Swift版本。

geom_text