У меня есть приложение для навигации, над которым я работаю, и одно из его применений заключается в том, что оно может вычислять среднее значение всех координат аннотаций, размещенных пользователем (через таблицу поиска, и каждая аннотация помещается при нажатии на результат) и найдите то, что вы могли бы назвать средней точкой, между всеми аннотациями.Эта средняя точка, однако, в настоящий момент проходит только по координатам, что означает, что в зависимости от того, где находятся текущие аннотации пользователей, эта средняя точка может оказаться в середине озера или леса, что бесполезно.Я хочу, чтобы он нашел ближайший адрес к координатам моей средней точки и вместо этого перенаправил туда аннотацию.Вот как создается аннотация:
@IBAction func middleFinderButton(_ sender: Any) {
let totalLatitude = mapView.annotations.reduce(0) { $0 + $1.coordinate.latitude }
let totalLongitude = mapView.annotations.reduce(0) { $0 + $1.coordinate.longitude }
let averageLatitude = totalLatitude/Double(mapView.annotations.count)
let averageLongitude = totalLongitude/Double(mapView.annotations.count)
let centerPoint = MKPointAnnotation()
centerPoint.coordinate.latitude = averageLatitude
centerPoint.coordinate.longitude = averageLongitude
mapView.addAnnotation(centerPoint)
}
Как я могу получить эту аннотацию 'centerPoint', чтобы настроить для ближайшего адреса?Спасибо.