【问题标题】:Strange behaviour of MapKit pin AnnotationsMapKit pin注解的奇怪行为
【发布时间】:2013-08-14 08:39:23
【问题描述】:

当我在具有相同地址的 mapView 上放置 5 个引脚时,当我们点击选定的注释视图时,标注气泡仅显示为两个引脚。当我点击大头针时,标注仅显示两个大头针。

如何解决这个问题,我想显示所有引脚的标注,即使它们具有相同的地址。

【问题讨论】:

  • 你固定在同一个地址上??我想那它会重叠。这样您就无法访问或查看所有这些。
  • 在每个位置添加一些米,这样它们仍然在相同的街道/邮政地址上,但在地图上的不同位置。这应该使用户能够实际放大他们单独的地址。
  • 我的问题是当我们点击图钉时,它必须显示 5 个标注,但它显示前 2 个记录的标注。

标签: iphone objective-c mkmapview mapkit callout


【解决方案1】:

发生这种情况是因为地图的缩放级别不符合您的坐标要求。虽然你已经在同一个地址标注了五个引脚,但坐标应该有细微的差异,才能分开。

您应该使用 longitudeDelta 和 latitudeDelta 来克服这个问题。

例如。你可以设置

<coordinate_object>.latitudeDelta = 0.04;
        <coordinate_object>.longitudeDelta = 0.04;

delta 值越小,缩放级别越高,反之亦然。

享受编程!

【讨论】:

  • 我的问题是当我们点击图钉时,它必须显示 5 个标注,但它显示前 2 个记录的标注。
  • 是的,我遇到了你的问题。只需尝试给定的解决方案。你肯定会从中得到一个想法
  • 它只是用我的注释进行缩放,但是如果所有引脚都在相同的纬度上怎么办
  • 那么你可以一次看到你的五个图钉之一
  • 我一次只能看到一个图钉......再次点击该图钉后,我只能看到第一条和第二条记录的弹出窗口
【解决方案2】:

在将每个注释添加到地图之前,您应该检查在同一位置或几米内是否已经有另一个注释。如果是这样,那么将这些注释的数据组合成一个可以保持增长的结构(NSMutableArray 是我的第一个猜测),然后将该组合数据添加为新的注释*。然后,当点击 pin 时,它会询问标注详细信息并告诉您点击了哪个注释,您可以在正确设置标注时检查注释是否有一个数据或多个数据。 您需要有一个自定义注释类,但如果您要存储关于每个注释类的有用数据,您可能无论如何都需要它。

*您还需要确保第一个注释没有留在地图上,所以也许您可以在执行任何注释之前扫描您的数据并组合成数组。每个注释都会存储一个值数组,其中大多数只有一个,但是如果它们靠得太近,数组就会有很多值,而您的标注函数必须显示这些值。

【讨论】:

    猜你喜欢
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多