繁体   English   中英

放大用户位置

[英]Zoom on userLocation

如何在我的应用程序中自动缩放userLocation上的地图? 我在地图中将以下代码添加到zomm,但我必须放大userLocation,并且以下代码始终缩放到非洲?

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];

确定,我解决了问题,使用以下委托方法:

-(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];
        }
    }
}

非常感谢队友,这极大地帮助了我。 真的很想投票,但由于我的代表级别而不能投票。

我还发现使用:

mapView.userLocation.location.coordinate.latitude;

总是将我放大到非洲,而从未将我放在当前位置上。

但是通过使用委托方法:

-(void)mapView:(MKMapView *)myMapView didAddAnnotationViews:(NSArray *)views {

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM