使用Mapkit缩放到注释而不是用户位置

时间:2013-11-21 18:27:24

标签: ios objective-c mapkit

我需要我的应用程序来放大地图上填充的注释,而不是用户的位置。这是我将使用的方法:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation

-(void)viewWillAppear

因此,我还需要地图不仅可以放大注释,还可以确保注释符合地图的视图。我已经看了几个例子,但我似乎无法找到适合我的答案。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好的,所以我应该对我的问题更清楚,但基本上我已经明白了。因此,如果您想要在地图中添加注释,并在加载时缩放到这些注释,那么无论您是从Web获取JSON数据还是在初始化时定义注释,都需要执行以下操作:

CLLocationCoordinate2D annotationCoordinate =
                CLLocationCoordinate2DMake([latDest doubleValue],
                                           [lngDest doubleValue]);

                Annotation *annotation = [[Annotation alloc] init];
                annotation.coordinate = annotationCoordinate;
                [self.mapView setCenterCoordinate:annotationCoordinate animated: YES];
                [self.mapView addAnnotation:annotation];

[self.mapView setCenterCoordinate:annotationCoordinate animated: YES];
[self.mapView addAnnotation:annotation];

我创建了一个注释类,其中包含有关从JSON数据收集的每个注释的属性,但最重要的是,与此问题最相关的是坐标数据,这正是我们所需要的。所以我把我的坐标定义为:

annotationCoordiate

最后,在将注释添加到地图后,我将地图集中在从我的数据中提取的位置:

[self.mapView setCenterCoordinate:annotationCoordinate animated: YES];

希望这是有道理的!谢谢!