如何在iOS应用中使用GoogleMap JavaScript API?

时间:2016-06-07 07:05:21

标签: javascript ios google-maps

Google为GoogleMap提供了an iOS SDK,但GoogleMap JavaScript API提供了更多功能,包括custom stylingdata visualisation,这些功能我想在我的应用中实现。

那么有什么方法可以在我的应用程序中使用这些JavaScript API吗?

我在想是否可以将地图嵌入到WebView中,以便我可以在应用程序中执行JavaScript操作?这可能吗?性能如何受到伤害?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我正在使用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