Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.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 如何从MKLocalSearchCompletion中提取国家和城市?_Ios_Mapkit - Fatal编程技术网

Ios 如何从MKLocalSearchCompletion中提取国家和城市?

Ios 如何从MKLocalSearchCompletion中提取国家和城市?,ios,mapkit,Ios,Mapkit,我从MKLocalSearchCompleter向其委托接收mklocalsearchcomplete项目。每个MKLocalSearchCompletion包含一个标题和一个副标题,副标题是一个地址。我需要从地址中提取一个城市和一个国家。请帮忙 请使用以下代码: MKLocalSearchRequest *request = [[MKLocalSearchRequest alloc] init]; request.naturalLanguageQuery = @"1 Infinite Loop

我从MKLocalSearchCompleter向其委托接收mklocalsearchcomplete项目。每个MKLocalSearchCompletion包含一个标题和一个副标题,副标题是一个地址。我需要从地址中提取一个城市和一个国家。请帮忙

请使用以下代码:

MKLocalSearchRequest *request = [[MKLocalSearchRequest alloc] init];
request.naturalLanguageQuery = @"1 Infinite Loop Cupertino, CA 95014"; 
request.region = _mapView.region;
MKLocalSearch *search = [[MKLocalSearch alloc] initWithRequest:request];
[search startWithCompletionHandler:^(MKLocalSearchResponse *response, NSError *error) {
    //NSLog(@"Map Items: %@", response.mapItems);
    if (response.mapItems.count>0) {
        for (MKMapItem *item in response.mapItems) {
            //NSLog(@"Place: %@",[item valueForKey:@"place"]);
            NSDictionary *dictStructuredAddress = [[[item valueForKey:@"place"] valueForKey:@"address"] valueForKey:@"structuredAddress"];
            NSLog(@"Structured Address : %@",dictStructuredAddress); 
            NSLog(@"Country & City : %@ & %@",[dictStructuredAddress valueForKey@"country"],[dictStructuredAddress valueForKey@"locality"]);
        }
}];

在此
dictStructuredAddress
中,您可以获取国家/地区、城市等。

MKLocalSearchCompletion不“包含地址”。它包含一个标题和副标题。要获取更多信息,请使用MKLocalSearchCompletion来形成MKLocalSearchRequest并执行MKLocalSearch

为什么会被否决?它给出了他所需要的精确输出。它没有这样的值!一些:1元素-0:{isCurrentLocation=0;name=Chile;placemark=“智利,智利+/-0.00m,地区CLCircularRegion(标识符:'radius 2628724.37',center:,radius:2628724.37m)”;timeZone=“America/Santiago(GMT-3)offset-10800(日光)”;}这太棒了,但我无法将其转换为Swift,特别是带有链接值forkey的dictStructuredAddress。@erickva:print only
item[“place”]
然后您将获得实际的密钥。我认为值得补充的是,您可以使用
initWithCompletion:
@SeanDawson直接从完成结果初始化MKLocalSearchRequest,这就是原因“使用MKLocalSearchCompletion来形成MKLocalSearchRequest”是指。