首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缩放userLocation

缩放userLocation
EN

Stack Overflow用户
提问于 2010-03-11 15:22:23
回答 2查看 1.2K关注 0票数 0

如何在应用程序中自动缩放userLocation上的地图?我在地图中有以下zomm的代码,但我必须放大userLocation,下面的代码总是缩放到非洲?

代码语言:javascript
复制
MKCoordinateRegion zoomIn = mapView.region;
    zoomIn.span.latitudeDelta *= 0.2;
    zoomIn.span.longitudeDelta *= 0.2;
    zoomIn.center.latitude = mapView.userLocation.location.coordinate.latitude;
    zoomIn.center.longitude = mapView.userLocation.location.coordinate.longitude;
    [mapView setRegion:zoomIn animated:YES];
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-11 16:16:17

好了,我用以下委托方法解决了这个问题:

代码语言:javascript
复制
-(void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views{
    for(MKAnnotationView *annotationView in views) {
        if(annotationView.annotation == mv.userLocation){
            MKCoordinateRegion region;
            MKCoordinateSpan span;

            span.latitudeDelta=0.9;
            span.longitudeDelta=0.9;

            CLLocationCoordinate2D location =mv.userLocation.coordinate;

            location = mv.userLocation.location.coordinate;

            region.span = span;
            region.center = location;
            [mv setRegion:region animated:TRUE];
            [mv regionThatFits:region];
        }
    }
}
票数 2
EN

Stack Overflow用户

发布于 2011-05-26 17:47:58

非常感谢伙伴,这对我帮助很大。我真的很想投票,但因为我的代表级别,所以不能投票。

我还发现使用:

代码语言:javascript
复制
mapView.userLocation.location.coordinate.latitude;

总是把我带到非洲,从来没有把我放在我现在的位置上。

但是通过使用委托方法:

代码语言:javascript
复制
-(void)mapView:(MKMapView *)myMapView didAddAnnotationViews:(NSArray *)views {

我成功地解决了这个问题。我发现,当在viewDidLoad方法中使用mapView.userLocation.location.coordinate.latitude;时,在视图启动时没有触发正确的用户坐标,因此它显示了错误的坐标。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2423236

复制
相关文章

相似问题

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