首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >setRegion:animated:不改变区域

setRegion:animated:不改变区域
EN

Stack Overflow用户
提问于 2013-01-17 14:21:13
回答 2查看 187关注 0票数 0

我正在尝试获取用户位置,并使用iOS6中的以下代码将其显示在mapView中

代码语言:javascript
复制
- (void) locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
if (locations.count>0) {
    for (CLLocation *location in locations) {
        [locationList addObject:location];

        if (location != nil) {
            // Zoom to the current user location.
            MKCoordinateRegion userLocation =[mapView regionThatFits: MKCoordinateRegionMakeWithDistance(location.coordinate, 150.0, 150.0)];
            [mapView setRegion:userLocation animated:YES];
            NSLog(@"%f,%f", mapView.centerCoordinate.latitude,mapView.centerCoordinate.longitude);
            NSLog(@"%f,%f", mapView.region.span.latitudeDelta,mapView.region.span.longitudeDelta);
        }
    }
}

}

但在位置更新后,[mapView setRegion:userLocation animated:YES]不会对mapView的区域进行任何更改,但用户位置可以显示为一个蓝点。NSLog打印如下:

代码语言:javascript
复制
nan,nan
0.000000,360.000000

也就是说什么都没变。我检查了大多数与地图相关的问题,他们只是调用这个方法,并在地图的中心显示位置。

我想知道为什么我可以把用户位置放到地图中心。

EN

回答 2

Stack Overflow用户

发布于 2013-01-18 03:43:11

您只需打开MKMapView跟踪模式

代码语言:javascript
复制
[mapView setTrackingMode:MKMapViewTrackingModeFollowsUser];
票数 0
EN

Stack Overflow用户

发布于 2013-06-06 11:09:49

您可以尝试这样做:

代码语言:javascript
复制
mMapView.showsUserLocation = YES;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14373243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档