我期待着这个代码,他会将所有标记放在地图上并缩放GMSMapView以适应我所有的GMSMarker,我用它来包括GMSCoordinateBounds类的Coordinate方法,但它不能按我的意愿工作.
我的例子:
#import "ViewController.h" @import GoogleMaps; @import CoreLocation; @interface ViewController () @property (weak,nonatomic) IBOutlet GMSMapView *mapView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSMutableArray <CLLocation *> *locations = [NSMutableArray array]; [locations addObject:[[CLLocation alloc] initWithLatitude:55.755786 longitude:37.617633]]; [locations addObject:[[CLLocation alloc] initWithLatitude:-22.9035393 longitude:-43.2095869]]; [locations addObject:[[CLLocation alloc] initWithLatitude:51.50998 longitude:-0.1337]]; NSArray *titles = @[@"marker1",@"marker2",@"marker3"]; NSMutableArray <GMSMarker *> *markers = [NSMutableArray array]; for (NSUInteger i = 0; i < 3; ++i) { GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = locations[i].coordinate; marker.title = titles[i]; marker.map = _mapView; [markers addObject:marker]; } GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:markers[0].position coordinate:markers[0].position]; for (GMSMarker *marker in markers) { bounds = [bounds includingCoordinate:marker.position]; } [_mapView animateWithCameraUpdate:[GMSCameraUpdate fitBounds:bounds]]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } @end
这是此代码的结果: