我使用 MKMapView 显示我当前的位置,我发现当我什么都不做时,我需要大约 15 秒以上才能看到蓝色圆圈并指向地图视图,但是如果我在地图视图之后移动地图开始定位,蓝色圆圈和点会立即显示(现在不需要5秒),它们之间有什么区别?我可以缩短在编码中显示蓝色圆圈的时间吗?多谢
我创建地图
self.runMapView = [[[MKMapView alloc] initWithFrame:self.bounds] autorelease];
self.runMapView.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
self.runMapView.showsUserLocation = YES;
runMapView.delegate = self;
接着 :
- (void)mapView:(MKMapView *)mapView_ didUpdateUserLocation:(MKUserLocation *)userLocation
{
if (loc2 == nil)//loc 2 is the ivar i used to track my first location
{
if (CLLocationCoordinate2DIsValid(userLocation.location.coordinate))
{
self.loc2 = userLocation.location;
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(userLocation.location.coordinate, 2000, 2000);
[runMapView setRegion:region];
}
}
}
我在地图上添加了一些折线视图,当我在开始时将地图视图添加到视图 ctrl 的视图时,地图视图的 alpha 设置为 0(因为我有一个按钮来决定显示或隐藏地图视图),我没有知道后面的地图更新位置是否会导致这个问题?