我需要我的应用程序来放大地图上填充的注释,而不是用户的位置。这是我将使用的方法:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
或
-(void)viewWillAppear
因此,我还需要地图不仅可以放大注释,还可以确保注释符合地图的视图。我已经看了几个例子,但我似乎无法找到适合我的答案。有什么想法吗?
答案 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];
希望这是有道理的!谢谢!