当我在具有相同地址的mapView上放置5个引脚时,当我们点击选定的注释视图时,仅显示两个引脚的标注气泡。当我点击引脚然后标注仅显示两个引脚。
如何解决这个问题,我想显示所有引脚的标注,即使它们具有相同的地址。
答案 0 :(得分:0)
这是因为根据您的坐标要求,地图的缩放级别不正确。虽然你在相同的地址上注释了五个引脚,但是在坐标上应该有微小的差别,以便分开。
你应该在经度德尔塔和latitudeDelta来克服这一点。
对于前。你可以设置
<coordinate_object>.latitudeDelta = 0.04;
<coordinate_object>.longitudeDelta = 0.04;
delta值越小,缩放级别越高,反之亦然。
享受编程!
答案 1 :(得分:0)
在将每个注释添加到地图之前,您应该检查在同一个地方或几米内是否已有另一个注释。如果是这样,那么将这些注释的数据组合成一个可以保持增长的结构(NSMutableArray是我的第一个猜测),然后将该组合数据添加为新的注释*。然后,当敲击引脚时,它将询问呼出详细信息并告诉您触发了哪个注释,您可以在正确设置标注时检查注释是否有一个数据或多个数据。 你需要有一个自定义注释类,但如果你存储有关每个注释类的有用数据,你可能还需要它。
*您还需要确保第一个注释不会留在地图上,因此您可以在执行任何注释之前对数据进行扫描并组合成数组。每个注释都会存储一个值数组,其中大多数只有一个,但是如果它们太靠近,那么数组就会有很多值,而你的callout函数必须显示它。