Как заставить приложение отображать карту с текущим местоположением пользователей, а затем направлять указанного пользователя в заданное местоположение? - PullRequest
0 голосов
/ 05 июля 2018

Код, который я сейчас использую:

import UIKit
import MapKit

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    openMapForPlace()
}

func openMapForPlace() {
    let coordinate = CLLocationCoordinate2DMake(-37.688607,144.890787)
    let mapItem = MKMapItem(placemark: MKPlacemark(coordinate: coordinate, addressDictionary:nil))
    mapItem.name = "Gladstone Park Secondary College"
    mapItem.openInMaps(launchOptions: [MKLaunchOptionsDirectionsModeKey : MKLaunchOptionsDirectionsModeDriving])
}

Единственное, что он показывает, это карта Австралии и выводит ее - Не удалось вставить юридическую атрибуцию из угла 4.

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

попробуйте

func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
    let location = locations.last as CLLocation

    let center = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude)        
    let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01))

    self.map.setRegion(region, animated: true)
}
0 голосов
/ 06 июля 2018

попробуйте этот код, я буду работать для вас.

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

   if userLocation != nil {

    locationManager.stopUpdatingLocation()

    mapView.camera = GMSCameraPosition(target: selectedCoordinate!.coordinate, zoom: 15, bearing: 0, viewingAngle: 0)

 } else if let location = locations.first {

         mapView.camera = GMSCameraPosition(target: location.coordinate, zoom: 15, bearing: 0, viewingAngle: 0)

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