Ich möchte den Benutzerstandort als blauen Punkt haben, während Pins auch auf dem Mapview haben. Ich möchte, dass die Pins eine Anmerkung haben, die eine Info-Taste hat. Ich kann den blauen Punkt für den Standort des Benutzers erhalten und die Stifte aktivieren, um eine Anmerkung wie einen Titel und einen Untertitel zu haben. Wenn ich jedoch die Info-Schaltfläche an die roten Pins anschließe, wird die Benutzerposition (blauer Punkt) zu einem roten Pin.Benutzerstandort (blauer Punkt) wird immer roter Pin
Ich kann nicht erkennen, wo ich falsch liege. Es hat etwas mit der letzten Funktion zu tun, da dies die Funktion ist, die eine Info-Schaltfläche auf die Annotation setzt. Aber es wählt auch den aktuellen Standort Benutzer und verwandelt es in einen Stift aus irgendeinem Grund :(
class GetToTheStart: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {
@IBOutlet weak var mapView: MKMapView!
let myLocMgr = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
myLocMgr.desiredAccuracy = kCLLocationAccuracyBest
myLocMgr.requestWhenInUseAuthorization()
myLocMgr.startUpdatingLocation()
myLocMgr.delegate = self
mapView.delegate = self
var zoo = CLLocationCoordinate2DMake(53.3562, -6.3053)
var zoopin = MKPointAnnotation()
zoopin.coordinate = zoo
zoopin.title = "dublin zoo"
zoopin.subtitle = "hello this is the zoo"
mapView.addAnnotation(zoopin)
}
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)
self.mapView.showsUserLocation = true
}
func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {
let reuseIdentifier = "pin"
var pin = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseIdentifier) as? MKPinAnnotationView
if pin == nil {
pin = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseIdentifier)
pin!.pinColor = .Red
pin!.canShowCallout = true
pin!.rightCalloutAccessoryView = UIButton(type: .DetailDisclosure)
} else {
pin!.annotation = annotation
}
return pin
}
das ist der Job dank Mann :) –
mit Vergnügen ... Während die Frage Haupt-Posting einige Standards zumindest für den Codeteil –