2015-04-09 16 views
15

Właśnie zaktualizowałem kod XCode do wersji 6.3 i teraz otrzymuję następujący błąd: MKPointAnnotation nie ma członka o nazwie "setCoordinate".XCode 6.3 MKPointAnnotation setCoordinate missing

Nie jestem pewien, dokąd się udał, lub jeśli mamy użyć innej metody MK. Każda pomoc jest doceniana.

func refreshlocation(lat:String, lon:String, withOffset:Bool = false){ 


     // 1 Convert the string values to something that can be used. 
     let location = CLLocationCoordinate2D(
      latitude: (lat as NSString).doubleValue as CLLocationDegrees, 
      longitude: (lon as NSString).doubleValue as CLLocationDegrees 
     ) 

     // 2 setup some initial variables. 
     let span = MKCoordinateSpanMake(
      (self.locationLatitudeDelta as NSString).doubleValue as CLLocationDegrees, 
      (self.locationLongitudeDelta as NSString).doubleValue as CLLocationDegrees 
     ) 

     let region = MKCoordinateRegion(center: location, span: span) 
     mapView.setRegion(region, animated: true) 

     //3 decorate the point and add the point to the map. 
     var annotation = MKPointAnnotation() 
     annotation.setCoordinate(location) //Error on this line 

    } 

Odpowiedz

21

Jak stwierdzono w iOS 8.3 API Diffs in the MapKit module metoda setCoordinate został usunięty:

Removed MKAnnotation.setCoordinate(CLLocationCoordinate2D)


szczęście, trzeba teraz użyć prostszej składni przypisania (co było już dostępne w poprzednich wersjach systemu SWIFT, to samo można zrobić w Objective-C):

annotation.coordinate = location 
+0

Dzięki, przejrzę ten dokument. Współrzędna –

+2

jest właściwością tylko do odczytu, więc po początkowym ustawieniu nie można jej zmienić bezpośrednio. –

+1

Ponieważ jest to tylko do odczytu, co powinieneś zrobić, aby zmienić "współrzędną"? – carsol

Powiązane problemy