XCode 6.3 MKPointAnnotation setCoordinate missing
Asked Answered
R

1

17

I just updated XCode to 6.3 and now I am receiving the below error: MKPointAnnotation does not have a member named 'setCoordinate'.

Not sure where it went, or if we are supposed to use some other MK method. Any help is appreciated.

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

    }
Rentschler answered 9/4, 2015 at 20:17 Comment(0)
S
24

As stated in the iOS 8.3 API Diffs in the MapKit module, the setCoordinate method was removed:

Removed MKAnnotation.setCoordinate(CLLocationCoordinate2D)


Fortunately, you must now use the simpler assignment syntax (which was already available in previous versions of Swift and the same could be done in Objective-C):

annotation.coordinate = location
Spongioblast answered 10/4, 2015 at 0:58 Comment(4)
Thanks, I will review that doc.Rentschler
coordinate is a read only property so after initially setting it you can't change it directly.Kurus
Since it's read-only what should you do in order to change coordinate?Pourboire
Based on Apple docs, coordinate is read/write for Swift. developer.apple.com/documentation/mapkit/mkpointannotation/…Grau

© 2022 - 2024 — McMap. All rights reserved.