我有一个功能,可以在所有注释之间“居中”视图,这些注释取自SO上的类型编码器:https://stackoverflow.com/a/7200744/1497534
一切正常,直到你的注释相距很远。可以在旧金山和中国中部进行注释,它可以正常工作。视图居中的功能会将您置于欧洲,因为缩放级别最大。这种行为就是我想要的。
但是,如果您在旧金山和日本放置了一个图标,该应用程序会因此例外而崩溃:
无效区域
<center:+39.84104733, +8.77916614 span:+178.18954061, +450.00000000>
另请注意,这仅在纵向模式下发生。景观可以处理一切。
这是因为它试图缩放比mapkit可以缩放的更多吗?
是否与初始加载注释有关,然后使用dequeueWithReuseIdentifier出列?我在视图中看到了这个:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(createAnnotations:) name:@"CreateAnnotations" object:nil];
我碰到了一堵砖墙,并希望得到一些反馈。
答案 0 :(得分:0)
问题可能是因为你制造的区域跨越了第180个子午线。我不确定解决方案,但你可以尝试从360度以上的任何经度中减去360.(同样,我不知道这是否会起作用,只是一个想法)。
我原以为中国中部和旧金山也会遇到同样的问题。它也可以是纬度值。我认为地图视图纬度仅限于北纬80度和南纬80度(纬度160度)。尝试将不同的值替换为区域,然后再设置它以查看导致问题的原因。