SDK版本:1.1.0.2080
在 iOS 6 上
地图中大约有 10~50 个标记,并通过用户操作用一些相同或不同的标记刷新。
每次刷新标记时,地图将 fitBounds 动画和[map clear]。
当刷新太多次(总共刷新大约 1000 多个标记)时,我进入
Maximum possible coords (10000) exceeded: 32768
控制台,所有东西都被阻止了。
在 GMSMapView.h 中,文档clear
为:
/**
*清除已添加到地图的所有标记,包括标记,
*折线和地面覆盖。这不会清除可见的位置点
* 或重置当前的 mapType。
*/
- (无效)清除;
这是我的刷新功能:
- (void)reloadMarkers:(NSMutableArray *)items fitbounds:(BOOL)fitbounds withVisibleRect:(CGRect)visibleRect
{
[_map clear];
if ([items count] == 0) {
return;
}
if (fitbounds) {
[self fitBounds:items withVisibleRect:visibleRect];
}
for (NSDictionary *item in items) {
GMSMarkerOptions *options = [[GMSMarkerOptions alloc] init];
options.position = CLLocationCoordinate2DMake([[item valueForKey:@"lat"] doubleValue], [[item valueForKey:@"lng"] doubleValue]);
options.title = [item valueForKey:@"name"];
options.userData = item;
UIImage *img = [UIImage imageNamed:[setting valueForKey:[item valueForKey:@"icon"]]];
options.icon = img;
[_map addMarkerWithOptions:options];
}
}
我会欣赏有关如何解决的任何反馈/经验。