XCode 6.3 MKPointAnnotation setCoordinate missing

与世无争的帅哥 提交于 2019-11-29 11:23:40

问题


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

    }

回答1:


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


来源:https://stackoverflow.com/questions/29548143/xcode-6-3-mkpointannotation-setcoordinate-missing

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!