Kalyani
Kalyani

Reputation: 392

Add new place to Google Places

I am new to IOS. I have to add new places to Google Places. I have referred this link https://developers.google.com/places/documentation/actions to add a place on button click, but I'm confused about passing parameters for this.

My coding lines are like this to fetch:

NSString *lat =@"-33.8669710";
NSString *longt =@"151.1957362";
gKey = @"my api key";

NSString *placeString  = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/add/json?sensor=false&key=%@HTTP/1.1Host:maps.googleapis.com {\"location\":{\"lat\":%@,\"lng\":%@},\"accuracy\": 50,\"name\":\"Gimmy Pet Store!\",\"types\":[\"pet_store\"],\"language\":\"en-AU\"}",gKey,lat,longt];

placeString = [placeString  stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"Main Place Url: %@",placeString);
NSURL *placeURL = [NSURL URLWithString:placeString];

NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:placeURL];

[request setHTTPMethod:@"POST"];

NSURLConnection *placesConn =[[NSURLConnection alloc] initWithRequest:request delegate:self];

Upvotes: 2

Views: 301

Answers (1)

Kalyani
Kalyani

Reputation: 392

I have made following changes to my code & finally it is executed successfully...

//for setting Parameters to post the url.just change tag values to below line...

NSString *str1 = [NSString stringWithFormat:@"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><PlaceAddRequest><location><lat>your latitude</lat><lng>your longitude</lng></location><accuracy>50</accuracy><name>place name</name><type>supported type</type><language>en-US</language></PlaceAddRequest>"];
NSLog(@"str1=====%@",str1);

NSString *str2 = [str1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSData *requestdata = [NSData dataWithBytes:[str2 UTF8String] length:[str2 length]];
NSString *postLength = [NSString stringWithFormat:@"%d", [requestdata length]];

//requesting main url to add new place to google places
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://maps.googleapis.com/maps/api/place/add/xml?sensor=false&key=your api key"]];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];

[request setHTTPMethod:@"POST"];
[request setHTTPBody:[NSData dataWithBytes:[str1 UTF8String] length:[str1 length]]];

//NSURLConnection *placesConn =[[NSURLConnection alloc] initWithRequest:request delegate:self];
NSData *returndata = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnstr = [[[NSString alloc] initWithData:returndata encoding:NSUTF8StringEncoding] autorelease];
NSLog(@"returnstr: %@",returnstr);

& then i have decoded return response which i get i status as OK......:)

Any one can use above code...if any help require you can surely ask....:)

Upvotes: 3

Related Questions