Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
防止两个标记位于同一位置Google Maps SDK iOS_Ios_Swift_Google Maps_Dictionary - Fatal编程技术网

防止两个标记位于同一位置Google Maps SDK iOS

防止两个标记位于同一位置Google Maps SDK iOS,ios,swift,google-maps,dictionary,Ios,Swift,Google Maps,Dictionary,如何防止两个标记放置在地图上的同一位置 我正在设置一个var-markerLocations=[CLLocation2D]()数组,在放置新标记时,我想检查该数组,确保在放置之前没有一个位置与我的位置在同一位置 使用.contains时,您似乎只能检查一个值?有没有办法检查lat和long是否都等于我要检查的位置?您可以尝试将lat-long转换为一致的字符串表示形式,并将这些表示形式缓存在字典中 首先,将lat long截断为适当的小数位数,然后将其转换为格式为“lat0.12345long-

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

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


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

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

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