如何在应用程序中自动缩放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];发布于 2010-03-11 16:16:17
好了,我用以下委托方法解决了这个问题:
-(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];
}
}
}发布于 2011-05-26 17:47:58
非常感谢伙伴,这对我帮助很大。我真的很想投票,但因为我的代表级别,所以不能投票。
我还发现使用:
mapView.userLocation.location.coordinate.latitude;总是把我带到非洲,从来没有把我放在我现在的位置上。
但是通过使用委托方法:
-(void)mapView:(MKMapView *)myMapView didAddAnnotationViews:(NSArray *)views {我成功地解决了这个问题。我发现,当在viewDidLoad方法中使用mapView.userLocation.location.coordinate.latitude;时,在视图启动时没有触发正确的用户坐标,因此它显示了错误的坐标。
https://stackoverflow.com/questions/2423236
复制相似问题