-(void)showLocalRestaurantsWithDishRated:(MKUserLocation *)userLocation {
CLGeocoder *geoCoder = [[CLGeocoder alloc] init];
[[RestaurantController sharedInstance] getRestaurantsFromParse:^(NSMutableArray *restaurants) {
NSLog(@"%@",restaurants);
for (Restaurant *restaurant in restaurants) {
NSLog(@"%@", restaurant.address);
[geoCoder geocodeAddressString:restaurant.address completionHandler:^(NSArray *placemarks, NSError *error) {
NSLog(@"%@",placemarks);
for (MKPlacemark *placemark in placemarks) {
MKPlacemark *newPlaceMark = [[MKPlacemark alloc] initWithPlacemark:placemark];
MKPointAnnotation *point = [[MKPointAnnotation alloc] init];
point.coordinate = newPlaceMark.coordinate;
point.title = restaurant.restaurantName;
point.subtitle = restaurant.address;
CLLocationCoordinate2D location = CLLocationCoordinate2DMake(placemark.location.coordinate.latitude, placemark.location.coordinate.longitude);
MKCoordinateRegion region = self.mapView.region;
region.span.latitudeDelta = 0.01;
region.span.longitudeDelta = 0.01;
region.center = location;
[self.mapView setRegion:region animated:YES];
[self.mapView addAnnotation:point];
}
}];
}
}];}
restaurant.address中的地址如下:
问题是只有第一个地址被添加到地图中。
发布于 2015-06-03 17:26:18
你需要重组你的代码。您希望先创建要添加到映射中的所有位置的数组。一旦有了它,然后调用addAnnotations (带有"s")来添加所有注释。您还需要根据所有位置的跨度计算区域,以确保地图显示所有位置。然后,在计算了跨越所有位置所需的区域之后,只需调用setRegion一次。
https://stackoverflow.com/questions/30626500
复制相似问题