私はグーグルマップからいくつかのデータを引き出していますが、それで何もできないようです。これが私のコードです:
- (void)connectionDidFinishLoading:(NSURLConnection *)theConnection {
//do something with the data!
NSError *e = nil;
//parse the json data
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: receivedData options: NSJSONReadingMutableContainers error: &e];
//get the lat and long and put it into an array
locationData = [[NSMutableArray alloc] init];
NSLog(@"%@", [jsonArray objectAtIndex:0]);
}
jsonArray.countをログに記録すると、2が得られます。これは、googleがトップレベルで結果とステータスを返すため、正しいようです。しかし、オブジェクト0を取得しようとすると、クラッシュします。私がこのようなことをしようとすると、それもクラッシュします:
- (void)connectionDidFinishLoading:(NSURLConnection *)theConnection {
//do something with the data!
NSError *e = nil;
//parse the json data
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: receivedData options: NSJSONReadingMutableContainers error: &e];
//get the lat and long and put it into an array
locationData = [[NSMutableArray alloc] init];
for(NSDictionary* thisLocationDict in jsonArray) {
NSString* location = [thisLocationDict objectForKey:@"results"];
[locationData addObject:location];
}
}
このコードを使用して、Twitterから問題なくデータを取得します。コンソールで発生するエラーは、文字列のオブジェクトを取得しようとしていることです。
-[__NSCFString objectForKey:]: unrecognized selector sent to instance 0x798a270
これがjsongoogleが送ってくれたものです:
タイプ=(地域、政治); }、{"long_name"="アッパーメリオン"; "short_name"="アッパーメリオン"; タイプ=( "administrative_area_level_3"、political); }、{"long_name"=モンゴメリー; "short_name"=モンゴメリー; タイプ=( "administrative_area_level_2"、political); }、{"long_name"=ペンシルベニア; "short_name" = PA; タイプ=( "administrative_area_level_1"、political); }、{"long_name"="アメリカ合衆国"; "short_name" = US; タイプ=(国、政治); }、{"long_name" = 19406; "short_name" = 19406; タイプ=( "postal_code"); }); "formatted_address" = "2900 Horizon Dr、King of Prussia、PA 19406、USA"; ジオメトリ={場所={lat= "40.0896985"; lng = "-75.341717"; }; "location_type" = ROOFTOP; ビューポート={北東={緯度="40.09104748029149"; lng = "-75.34036801970849"; }; 南西={lat="40。
そして私が渡すURL:
http://maps.googleapis.com/maps/api/geocode/json?address=2900+Horizon+Drive+King+of+Prussia+,+PA&sensor=false
私が間違っていることについて何か考えはありますか?