w Objective-C ten kod działa poprawnie wykreślić adres i stwierdzi, długości i szerokości geograficznej koordynuje:Jak wykreślić adresy w Swift, przekształcając adres na współrzędne długości i szerokości geograficznej?
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];
}];
I zostały poszukiwania przez kilka dni, jak to zrobić z Swift ?! Czy ktoś może wskazać mi właściwy kierunek? Czy możesz wyjaśnić, czy użytkownik potrzebuje połączenia z Internetem, aby to zadziałało. Przepraszam, jeśli te pytania brzmią trochę prosto, ale jestem całkiem nowy i uczę się każdego dnia.
Rozumiem, że muszę użyć tego kodu, ale nie może znaleźć sposób, aby realizować to
func geocodeAddressString(_ addressString: String!,
completionHandler completionHandler: CLGeocodeCompletionHandler!)
Dzięki za odpowiedź, ale za e oznaczenia miejsc: [AnyObject]! daje błąd. @kviksilver – agf119105
Wymień tę linię z: geocoder.geocodeAddressString (adres, {(oznaczenia miejsc: AnyObject [] !, błąd: NSError) -> Pustki w jeśli używasz beta <3 – kviksilver
Wyjątkowy, dzięki który działa !! ! – agf119105