Прямо сейчас я кодирую карту в 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()
}
}
Мне нужно знать, как добраться до контактов, которые я разместил на своей карте. Я нажимаю на булавки, но не могу понять, как добраться до него из текущего местоположения. Это то, что я пытаюсь понять.





Сначала передайте делегат переменной 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}
Привет ... нам нужно знать, в чем проблема, где именно вы застряли, или что вы не можете сделать?