Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MKMapView with address

is there a way to make the MKMapView place a pin with a given address? Without using the Coordinates

Thanks

like image 318
johnz Avatar asked Aug 01 '10 18:08

johnz


People also ask

How get lat long from address in Swift?

geocodeAddressString(addressString) { (placemarks, error) in if error == nil { if let placemark = placemarks?[0] { let location = placemark. location! completionHandler(location. coordinate, nil) return } } completionHandler(kCLLocationCoordinate2DInvalid, error as NSError?) } }

What is Mkplacemark?

A placemark is a concrete annotation object and conforms to the MKAnnotation protocol. Because it is an annotation, you can add a placemark directly to the map view's list of annotations.

What is MapKit in IOS?

Overview. Use MapKit to give your app a sense of place with maps and location information. You can use the MapKit framework to: Embed maps directly into your app's windows and views. Add annotations and overlays to a map to call out points of interest.


1 Answers

here is a snippet of code I used in an application

-(CLLocationCoordinate2D) getLocationFromAddressString:(NSString*) addressStr {
    NSString *urlStr = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv", 
                           [addressStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    NSString *locationStr = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlStr]];
    NSArray *items = [locationStr componentsSeparatedByString:@","];

    double lat = 0.0;
    double lon = 0.0;

    if([items count] >= 4 && [[items objectAtIndex:0] isEqualToString:@"200"]) {
        lat = [[items objectAtIndex:2] doubleValue];
        lon = [[items objectAtIndex:3] doubleValue];
    }
    else {
        NSLog(@"Address, %@ not found: Error %@",addressStr, [items objectAtIndex:0]);
    }
    CLLocationCoordinate2D location;
    location.latitude = lat;
    location.longitude = lon;

    return location;
}
like image 188
Aaron Saunders Avatar answered Sep 27 '22 20:09

Aaron Saunders