несколько мест на mapkit - PullRequest
       17

несколько мест на mapkit

0 голосов
/ 04 апреля 2019

Я хочу реализовать программу для отображения нескольких мест в ios mapkit, но она показывает только одно местоположение, пожалуйста, помогите мне найти несколько мест (например, несколько точек захвата в приложении Uber), и мой код ниже

import UIKit
import Contacts
import MapKit
import CoreLocation

class ViewController: UIViewController {

    @IBOutlet weak var address: UITextField!
   @IBOutlet weak var city: UITextField!
    @IBOutlet weak var state: UITextField!
    @IBOutlet weak var zip: UITextField!

    var coords:CLLocationCoordinate2D?

    @IBAction func showOnmap(_ sender: Any)
    {
        if let addressString = address.text,
            let cityString = city.text,
            let stateString = state.text,
            let zipString = zip.text {

            let addressString = "\(addressString) \(cityString) \(stateString) \(zipString)"


            CLGeocoder().geocodeAddressString(addressString,
        completionHandler: {(placemarks, error)                                         if error != nil {
        print("Geocode failed: \(error!.localizedDescription)")
         } else if let marks = placemarks, marks.count > 0 {
                    let placemark = marks[0]
                                     if let location=placemark.location {
                  self.coords = location.coordinate
                    self.showMap()
                                                    }
                                                }
            })
        }
    }
    override func viewDidLoad() {
    super.viewDidLoad()

    }

    func showMap() {

        if let addressString = address.text,
            let cityString = city.text,
            let stateString = state.text,
            let zipString = zip.text,
            let coordinates = coords {

            let addressDict =
                [CNPostalAddressStreetKey: addressString,
                 CNPostalAddressCityKey: cityString,
                 CNPostalAddressStateKey: stateString,
                 CNPostalAddressPostalCodeKey: zipString]

            let place = MKPlacemark(coordinate: coordinates,
                                    addressDictionary: addressDict)

            let mapItem = MKMapItem(placemark: place)

            let options = [MKLaunchOptionsDirectionsModeKey:
                MKLaunchOptionsDirectionsModeDriving]

            mapItem.openInMaps(launchOptions: options)
        }
    }

}

один источник и несколько пунктов назначения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...