0

Как вы показываете голубую точку вместо Pin при отображении текущего местоположения на карте? на данный момент код иллюстрирует красный контакт, который показывает текущее местоположение пользователей, когда пользователь перемещается. Как я могу преобразовать это в синюю точку, используемую яблоком?Как вы показываете голубую точку вместо Pin при отображении текущего местоположения в mapview?

import UIKit 
import MapKit 

class ViewController: UIViewController,CLLocationManagerDelegate { 

@IBOutlet weak var myMapView: MKMapView! 





let myLocMgr = CLLocationManager() 

override func viewDidLoad() { 
    super.viewDidLoad() 


    myLocMgr.desiredAccuracy = kCLLocationAccuracyBest 
    myLocMgr.requestWhenInUseAuthorization() 
    myLocMgr.startUpdatingLocation() 
    myLocMgr.delegate = self 

} 



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

     // get most recient coordinate 
     let myCoor = locations[locations.count - 1] 

     //get lat & long 
     let myLat = myCoor.coordinate.latitude 
     let myLong = myCoor.coordinate.longitude 
     let myCoor2D = CLLocationCoordinate2D(latitude: myLat, longitude: myLong) 

     //set span 
     let myLatDelta = 0.05 
     let myLongDelta = 0.05 
     let mySpan = MKCoordinateSpan(latitudeDelta: myLatDelta, longitudeDelta: myLongDelta) 

     let myRegion = MKCoordinateRegion(center: myCoor2D, span: mySpan) 

     //center map at this region 
     myMapView.setRegion(myRegion, animated: true) 

     //add anotation 
     let myAnno = MKPointAnnotation() 
     myAnno.coordinate = myCoor2D 
     myMapView.addAnnotation(myAnno) 
    } 



@IBAction func stop(sender: AnyObject) { 
    myLocMgr.stopUpdatingLocation() 
} 


@IBAction func resume(sender: AnyObject) { 
    myLocMgr.startUpdatingLocation() 
} 




override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 

} 

}

ответ

1
self.myMapView.showsUserLocation = true 

showsUserLocation является то, что вам нужно. Это MKMapView свойство установить его в viewDidLoad или с использованием IB (если возможно). Вам не нужно делать лишние вещи в делегате LocationManagerdidUpdateLocations, просто установите его MKMapView сделает остальную информацию

+0

это не работает для меня! :( – nirav