【问题标题】:Preventing two markers in the same place Google Maps SDK iOS防止两个标记在同一个地方Google Maps SDK iOS
【发布时间】:2018-12-13 06:18:18
【问题描述】:

如何防止两个标记被放置在地图上的同一位置?

我正在设置一个 var markerLocations = [CLLocation2D]() 数组,当我正在放置我的新标记时,我想检查该数组并确保没有一个位置与我之前的位置相同放好它。

当使用.contains 时,您似乎只能检查一个值?有没有办法检查纬度和经度是否等于我要检查的位置?

【问题讨论】:

    标签: ios swift google-maps dictionary


    【解决方案1】:

    您可以尝试将 lat long 转换为一致的字符串表示形式,并将这些表示形式缓存在字典中。

    首先,将 lat long 截断为合适的小数位数,然后将其转换为 "lat0.12345long-1.23456" 形式的字符串。然后,对于每个项目将 true 存储在 [String:Bool] 字典中。然后,每次要插入新位置时,从新位置生成适当的键字符串,并检查它是否存在于字典中,然后仅在它不存在时才插入它。这应该适用于大量位置,因为在字典中查找键比检查数组是否包含项目要快得多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-08
      • 2015-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多