我有一些标记坐标存储在数组中。我希望能够在地图上找到用户附近的标记。例如,用户附近有3个标记。我知道谷歌提供距离矩阵api来计算距离(距离用户2分钟)。我找到的唯一解决方案是在javascript中。如果有人能够指导我朝着正确的方向前进,那将非常有帮助。提前谢谢。
答案 0 :(得分:0)
您需要使用distance(from location: CLLocation)
类的CLLocation
。它在CLLocation
类
open func distance(from location: CLLocation) -> CLLocationDistance
返回从接收者位置到指定位置的距离(以米为单位)。
这是Apple的Link
用法
Swift 3.x代码
让我们假设有一个名为CLLocation
的{{1}}变量,其中有一个用户位置的纬度和长度。因此,要计算从userLocation
到userLocation
的距离,并且有markerLocation
类marker
的对象
GMSMarker
您将获得let markerLocation = CLLocation(latitude: marker.position.latitude, longitude: marker.position.longitude)
let metres = userLocation.distance(from: markerLocation)
print(metres) //will be in metres
位置与marker
之间的距离。所以你可以相应地编写你的逻辑。