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

How to add search functionality in Google Map SDK in iOS?

我是 iOS 开发的新手,也是 Google 映射 SDK 的新手 我想通过 URL Google 映射的架构在我的应用程序中添加搜索功能是可能的如果可能那么请给我解决方案,或任何资源。 谢谢。

您需要为此使用 Google Maps Geocoding API,仅使用 Google Maps iOS SDK 本身无法做到这一点。

Geocoding is the process of converting addresses (like "1600 Amphitheatre Parkway, Mountain View, CA") into geographic coordinates (like latitude 37.423021 and longitude -122.083739), which you can use to place markers or position the map.

用户可以输入任何一种地址,地理编码API会return具体的坐标,这样就可以在地图上显示出来。

你需要:

The Google Geocoding API

Google Maps API Web Services

Google iOS

地图 SDK

如其他答案所建议的那样,您将需要使用 The Google Geocoding API

基本上,你需要向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];
        }
    });
} 

只需按照 Google 地理编码 API 说明进行操作,希望代码片段可以加快速度。