mkmapview – 如何在Swift中绘制地址,将地址转换为经度和纬度坐标?

前端之家收集整理的这篇文章主要介绍了mkmapview – 如何在Swift中绘制地址,将地址转换为经度和纬度坐标?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Objective-C中,这段代码可以很好地绘制一个地址,并找到经度和纬度坐标:
NSString *address = @"1 Infinite Loop,CA,USA";
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressString:address 
             completionHandler:^(NSArray* placemarks,NSError* error){
                 // Check for returned placemarks
                 if (placemarks && placemarks.count > 0) {
                     CLPlacemark *topResult = [placemarks objectAtIndex:0];
                     // Create a MLPlacemark and add it to the map view
                     MKPlacemark *placemark = [[MKPlacemark alloc] initWithPlacemark:topResult];
                     [self.mapView addAnnotation:placemark];
                     [placemark release];
                 }
                 [geocoder release];
             }];

我一直在搜索与Swift这样做的日子?有人可以指出我的方向正确吗?你能否解释一个用户是否需要一个互联网连接才能使其工作。对不起,如果这些问题听起来有点基础,但是我对这一点很新,每天都在学习。

我明白我必须使用这个代码,但找不到一种方法来实现它

func geocodeAddressString(_ addressString: String!,completionHandler completionHandler: CLGeocodeCompletionHandler!)
尝试像
var address = "1 Infinite Loop,USA"
var geocoder = CLGeocoder()
geocoder.geocodeAddressString(address,{(placemarks: [AnyObject]!,error: NSError!) -> Void in
    if let placemark = placemarks?[0] as? CLPlacemark {
        self.mapView.addAnnotation(MKPlacemark(placemark: placemark))
    }
})

猜你在找的Swift相关文章