AFNetworking 프레임 워크를 사용하고 있습니다. 나는 그것의 하위 클래스를 만들었다. CUK_Client는 서브 클래스의 이름입니다.
google api examples 유형 (POST 또는 GET)을 보여줍니다.
필요에 따라 수정할 수 있습니다.
makeRequestGet은 원하는대로 매개 변수와 경로로 호출 할 수있는 일반적인 GET 메서드입니다. 예를 들어 getDirection 메서드에서는 두 좌표 사이에서 방향을 지정하는 데 사용합니다.
.H 파일
@interface CUK_Client : AFHTTPSessionManager
+ (CUK_Client *) sharedClient;
+ (CUK_Client *) googleMapsClient;
- (void)makeRequestGet:(NSString *) route withParamaters:(NSDictionary *)parameters completion:(DefaultIdResultBlock) completion ;
- (void)getDirection:(NSDictionary *)params completion:(DefaultIdResultBlock) completion;
- (void)beaconsVisited:(NSArray *)beacons completion:(DefaultIdResultBlock) completion;
@end
하는 .m 파일
@implementation CUK_Client
+ (CUK_Client *) googleMapsClient {
static CUK_Client *googleMapsClient = nil;
static dispatch_once_t onceToken;
dispatch_once (&onceToken ,^{
googleMapsClient = [[self alloc] initWithBaseURL:[NSURL URLWithString:@"http://maps.googleapis.com/"]];
});
return googleMapsClient;
}
- (void) makeRequestGet:(NSString *) route withParamaters:(NSDictionary *)parameters completion:(DefaultIdResultBlock) completion {
[self GET:route
parameters:parameters
success:^(NSURLSessionDataTask *task, id responseObject) {
return completion (nil ,responseObject);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
return completion ([error localizedDescription] , nil);
}];
}
-(void)getDirection:(NSDictionary *)params completion:(DefaultIdResultBlock)completion {
[self makeRequestGet:@"maps/api/directions/json" withParamaters:params completion:completion];
}
@end
안녕 @Kivannc는 답변 주셔서 감사합니다. 그러나 웹 서비스 API에 대한 HTTP 요청 만하는 것이 아니라 실제로 JavaScript를 직접 실행해야합니다. 그래서 지금은 UIWebiview의 - stringByEvaluatingJavaScriptFromString :을 사용하는 것을 고려 중입니다. https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIWebView_Class/#//apple_ref/occ/instm/UIWebView/stringByEvaluatingJavaScriptFromString : –