SDK バージョン: 1.1.0.2080
IOS 6 の場合
マップには約 10 ~ 50 個のマーカーがあり、ユーザーの操作によって同じまたは異なるマーカーで更新されます。
マーカーが更新されるたびに、マップはアニメーション化された[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];
}
}
解決方法に関するフィードバックや経験をいただければ幸いです。