MKLocalSearch 找不到附近的所有餐馆
MKLocalSearch not finding all nearby restaurants
我在 mkmapview 的某个区域内实现了 MKLocalSearch,return 是该区域内的一系列餐馆。通过研究,只显示了 10 家餐厅。有没有办法让 MKLocalSearch 可以 return 一个区域内超过 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];
}];
}
所以虽然我问这个问题已经有一段时间了,但我仍然想解决这个问题,因为我认为我应该这样做。在 Whosebug 和 apple 开发者论坛上偶然发现各种链接后,内置的 MKLocalSearch 方法似乎仅限于 returning 最多 10 个结果。而 Google 地图 API 最多可以 return 60 个结果。因此,恐怕我的问题的答案是
否,您无法将 MKLocalSearch 方法return 绑定到特定 naturalLanguageQuery 关键字的区域内超过 10 个位置。
我在 mkmapview 的某个区域内实现了 MKLocalSearch,return 是该区域内的一系列餐馆。通过研究,只显示了 10 家餐厅。有没有办法让 MKLocalSearch 可以 return 一个区域内超过 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];
}];
}
所以虽然我问这个问题已经有一段时间了,但我仍然想解决这个问题,因为我认为我应该这样做。在 Whosebug 和 apple 开发者论坛上偶然发现各种链接后,内置的 MKLocalSearch 方法似乎仅限于 returning 最多 10 个结果。而 Google 地图 API 最多可以 return 60 个结果。因此,恐怕我的问题的答案是
否,您无法将 MKLocalSearch 方法return 绑定到特定 naturalLanguageQuery 关键字的区域内超过 10 个位置。