当我在具有相同地址的mapView上放置5个引脚时,但当我们点击选定的注释视图时,仅显示两个引脚的标注气泡。当我点击接点时,详图索引只显示两个接点。
如何解决这个问题,我想显示所有引脚的标注,即使它们有相同的地址。
这是因为地图的缩放级别不符合坐标要求。尽管你们已经在同一地址标注了五个引脚,但坐标上应该有微小的差异,以便分开。
你应该在longitudeDelta&latitudeDelta来克服这一点。
例如,您可以设置
<coordinate_object>.latitudeDelta = 0.04;
<coordinate_object>.longitudeDelta = 0.04;
delta值越小,缩放级别越高,反之亦然。
享受编程!
在将每个注释添加到地图之前,您应该检查在同一位置或几米内是否已经有另一个注释。如果是这样,那么将这些注释的数据组合成一个可以不断增长的结构(NSMutableArray是我的第一个猜测),然后将组合后的数据添加为新的注释*。然后,当引脚被点击时,它会询问调用细节,并告诉您点击了哪个注释,您可以在正确设置调用时检查注释是否有一个基准或多个数据。您需要有一个自定义注释类,但如果您存储了每个注释类的有用数据,那么您可能无论如何都需要它。
*你还需要确保第一个注释没有留在地图上,所以在做任何注释之前,也许你可以扫描你的数据并组合成数组。每个注释都会存储一个值数组,其中大多数值只有一个,但如果它们靠得太近,数组会有很多值,而callout函数必须显示这些值。