Я пытаюсь отобразить все автобусные остановки в пределах 1 км для аннотаций, однако UIMap показывает аннотации, которые находятся не в пределах 1 км.Когда я изменится на 10 км, он будет отображать аннотации на расстоянии более 1 км, но недостаточно близко.
class Значение: Codable {let busStopCode, roadName, description: String let latitude, longitude: Double
enum CodingKeys: String, CodingKey {
case busStopCode = "BusStopCode"
case roadName = "RoadName"
case description = "Description"
case latitude = "Latitude"
case longitude = "Longitude"
}
init(busStopCode: String, roadName: String, description: String, latitude: Double, longitude: Double) {
self.busStopCode = busStopCode
self.roadName = roadName
self.description = description
self.latitude = latitude
self.longitude = longitude
}
func GetDistance(latitude: Double, longitude: Double) -> Double {
let selectedCoordinate = CLLocation(latitude: latitude, longitude: longitude)
let busStopCoordinate = CLLocation(latitude: Double(self.latitude), longitude: self.longitude)
return busStopCoordinate.distance(from: selectedCoordinate)
}
Класс ViewController
@IBAction func GPSTrack(_ sender: Any) {
InputAllAnnotation(busStops: stopSearchResults)
print("Searching for nearby bus stops")
}
func InputAllAnnotation(busStops: [Value]) {
for busStop in busStops{
let busStopObj = BusStopAnnotation(value: busStop)
Annotations.append(busStopObj)
let distance = busStop.GetDistance(latitude: Double(currentLocation?.latitude ?? 0), longitude: Double(currentLocation?.longitude ?? 0))
if distance < 10000 {
mapView.addAnnotation(busStopObj)
}
}
}
Я получаю автобусные остановки с комментариями в 10 км, но не в пределах 1 км