2

我在 mkmapview 上的某个区域内实现了一个 MKLocalSearch,它返回该区域内的一组餐厅。通过研究,只显示了 10 家餐厅。有没有办法让 MKLocalSearch 可以返回一个区域内的 10 多家餐厅?这是代码,

MKLocalSearchRequest *request = [[MKLocalSearchRequest alloc]init];
request.naturalLanguageQuery = @"restaurant";
request.region = midRegion;

MKLocalSearch *localSearch = [[MKLocalSearch alloc]initWithRequest:request];
[localSearch startWithCompletionHandler:^(MKLocalSearchResponse *response, NSError *error) {
    NSMutableArray *annotations = [NSMutableArray array];
    [response.mapItems enumerateObjectsUsingBlock:^(MKMapItem *item, NSUInteger idx, BOOL *stop){
        CustomAnnotation *annotation = [[CustomAnnotation alloc] initWithPlacemark:item.placemark];
        annotation.title = item.name;
        annotation.subtitle = item.placemark.addressDictionary[(NSString *)kABPersonAddressStreetKey];
        annotation.phone = item.phoneNumber;

        [annotations addObject:annotation];
    }];

    [self.mapView addAnnotations:annotations];

 }];
}       
4

1 回答 1

5

因此,尽管我已经有一段时间没有提出这个问题了,但我仍然想解决,因为我认为我应该这样做。在偶然发现 stackoverflow 和苹果开发者论坛上的各种链接之后,似乎内置的 MKLocalSearch 方法仅限于返回最多 10 个结果。然而,Google Maps API 最多可以返回 60 个结果。因此,恐怕我的问题的答案是

,您无法让 MKLocalSearch 方法返回与特定 naturalLanguageQuery 关键字相关的区域内的 10 多个位置。

于 2016-07-12T22:38:16.867 回答