Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iOS中的Google Map SDK中添加搜索功能?_Ios_Objective C_Google Maps_Google Search Api - Fatal编程技术网

如何在iOS中的Google Map SDK中添加搜索功能?

如何在iOS中的Google Map SDK中添加搜索功能?,ios,objective-c,google-maps,google-search-api,Ios,Objective C,Google Maps,Google Search Api,我是iOS开发的新手,也是Google map SDK的新手。我想通过Google map的URL模式在我的应用程序中添加搜索功能。如果可能的话,请为我提供解决方案,或者提供相关资源。 谢谢。您需要使用,因为只有谷歌地图iOS SDK本身无法做到这一点 地理编码是转换地址的过程(如“1600”) 圆形剧场公园道,加利福尼亚州山景城“)转换为地理坐标 (如纬度37.423021和经度-122.083739),您可以使用 放置标记或定位地图 用户可以输入任何类型的地址,地理编码API将返回特定的坐标

我是iOS开发的新手,也是Google map SDK的新手。我想通过Google map的URL模式在我的应用程序中添加搜索功能。如果可能的话,请为我提供解决方案,或者提供相关资源。 谢谢。

您需要使用,因为只有谷歌地图iOS SDK本身无法做到这一点

地理编码是转换地址的过程(如“1600”) 圆形剧场公园道,加利福尼亚州山景城“)转换为地理坐标 (如纬度37.423021和经度-122.083739),您可以使用 放置标记或定位地图

用户可以输入任何类型的地址,地理编码API将返回特定的坐标,以便您可以在地图上显示它

您需要:


Google Maps SDK for iOS

与其他答案一样,您需要使用

基本上,您需要向api发送请求,并从返回的JSON对象解析所需的信息(也可以使用XML)

非常从api接收json响应的基本示例:

- (void)sendGeoCodingRequest:(NSString *)parameters {


    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

        NSString *query = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=%@" YOUR_KEY];
        NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[[NSURL alloc] initWithString:[query stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];

        NSError *error;
        NSURLResponse *response;
        NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
        NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;

        if (httpResponse.statusCode != 200 || error || ![data length]) {
            NSLog(@"Error fetching auto complete results: %@", error);
        } else {

            // parse the json and do something with the result
            NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
        }
    });
} 

只需按照谷歌地理编码API的说明进行操作,希望代码片段能加快速度。

什么样的搜索?输入是什么,输出是什么?@nburk和谷歌地图一样,比如
城市名
国家名
州名
街道名
,我想把它们显示在我的GMSMapView中。我回答了你的问题了吗?还有什么不清楚的吗?:)否则,请勾选绿色复选标记,将问题标记为已解决(请:)?你还需要帮助吗(但您有任何资源,请给我。请查看谷歌工程师提供的本教程,它很棒@Ramesh,这有帮助吗?当我使用Api密钥时,错误是
此IP、站点或移动应用程序无权使用此Api密钥。
好的,这是一个新问题:)您能否将此问题标记为已解决,并针对此问题发布一个新问题(请:)