Получить направление к меткам на карте

Прямо сейчас я кодирую карту в iOS и пытаюсь выяснить, как получить направление для каждой закодированной мною булавки, которая постоянно установлена ​​на карте.

Например, то, что я хочу, чтобы моя панель поиска делала, - это когда я набираю имя одной из тех постоянных булавок, которые я разместил, панель поиска распознает переход прямо к той булавке, которую я разместил.

Мне нужно знать, как добраться до контактов, которые я разместил на своей карте. Я нажимаю на булавки, но не могу понять, как добраться до него из текущего местоположения. Это то, что я пытаюсь понять.

Вот что у меня есть для моих выводов, которые я разместил:

let location11 = CLLocationCoordinate2D( latitude: 33.232233, longitude: -111.232322)

let span11 =  MKCoordinateSpanMake(0.02, 0.02)

let region11 = MKCoordinateRegion(center: location11, span: span11);

mapView.setRegion(region11, animated: true)

let Annotation10 = MKPointAnnotation()
Annotation10.coordinate = location11
Annotation10.title = " blahhh "
Annotation10.subtitle = "Campus"

mapView.addAnnotation (Annotation10)

А вот как я настроил своего делегата searchBar:

extension ViewController: UISearchBarDelegate {
    func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
        searchBar.endEditing(true)
        let localSearchRequest = MKLocalSearchRequest()
        localSearchRequest.naturalLanguageQuery = searchBar.text
        let region = MKCoordinateRegion(center: currentCoordinate, span: MKCoordinateSpan(latitudeDelta: 0.002, longitudeDelta: 0.002))
        localSearchRequest.region = region
        let localSearch = MKLocalSearch(request: localSearchRequest)
        localSearch.start { (response, _) in
            guard let response = response else { return }
            guard let firstMapItem = response.mapItems.first else
            { return }
            self.getDirections(to: firstMapItem)
        }
    }

А вот мой делегат просмотра карты:

extension ViewController: MKMapViewDelegate {
    func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
        if overlay is MKPolyline {
            let renderer = MKPolylineRenderer(overlay: overlay)
            renderer.strokeColor = .yellow
            renderer.lineWidth = 5
            return renderer
        }
        if overlay is MKCircle {
            let renderer = MKCircleRenderer(overlay: overlay)
            renderer.strokeColor = .red
            renderer.fillColor = .red
            renderer.alpha = 0.005
            return renderer
        }
        return MKOverlayPathRenderer()
    }
}

Привет ... нам нужно знать, в чем проблема, где именно вы застряли, или что вы не можете сделать?

Vivek Kumar 05.06.2018 08:35

Мне нужно знать, как добраться до контактов, которые я разместил на своей карте. Я нажимаю на булавки, но не могу понять, как добраться до него из текущего местоположения. Это то, что я пытаюсь понять.

Isaac Rodriguez 05.06.2018 08:39
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
49
1

Ответы 1

Сначала передайте делегат переменной mkmapview вашему родительскому представлению / контроллеру просмотра. Есть методы делегата для получения выбранного пина Сначала добавьте булавку с правильной информацией на карту с помощью метода делегата MKMapView:

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
    let annotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: "pin")//Add your information here to the pin....like title,tag,color...}

Затем при нажатии кнопки просмотра этот метод будет вызван .... получите контакт и извлеките информацию, необходимую для расчета маршрута.

  func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {//Get location and other info from view}

Другие вопросы по теме