我期待该代码,他会将所有标记放在地图上并缩放GMSMapView
以适合我的所有GMSMarker
,我用于includingCoordinate
类GMSCoordinateBounds
方法1}},但它并不像我想的那样工作。
我的例子:
#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
这是此代码的结果:
答案 0 :(得分:0)
从图像中我认为这可能是地图可用的最大缩小级别。 如果这样,屏幕将成为适合所有标记的矩形区域的中心。 尝试将几个标记放在一起,看看边界是否适合地图中的所有标记,如果你成功了,那么恐怕你不会超出这个水平。