2

私はIOSが初めてです。Google プレイスに新しい場所を追加する必要があります。このリンクhttps://developers.google.com/places/documentation/actionsを参照して、ボタンのクリック時に場所を追加しましたが、これにパラメーターを渡すことについて混乱しています。

私のコーディング行は次のようになります。

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];
4

1 に答える 1

3

コードに次の変更を加えましたが、最終的に正常に実行されました...

//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);

そして、私はOKとしてステータスを取得する戻り応答をデコードしました...... :)

誰でも上記のコードを使用できます...助けが必要な場合は、必ず尋ねることができます....:)

于 2013-03-20T11:20:23.670 に答える