我将有一个坐标,例如,我需要检查它是否距离任何梅西百货商店或沃尔玛商店不到半英里。有没有办法在不存储每个walmart / macy商店的坐标的情况下执行此操作,只需使用“walmart”或“macys”的关键字?
答案 0 :(得分:0)
您可以使用MKLocalSearch
。请注意,如果您要搜索梅西百货和沃尔玛,您将使用两个不同的搜索对象进行两次搜索,因为正如文档所述:
MKLocalSearch
对象启动基于地图的搜索操作,并将结果异步传递回您的应用。搜索对象旨在仅执行一个搜索操作。要执行多个不同的搜索,您必须创建此类的单独实例并单独启动它们。
无论如何,基本代码看起来像:
// create new search request
MKLocalSearchRequest *request = [[MKLocalSearchRequest alloc] init];
request.naturalLanguageQuery = @"Walmart";
request.region = mapView.region; // or create your `region` manually if not using a map
// initiate new search
MKLocalSearch *localSearch = [[MKLocalSearch alloc] initWithRequest:request];
[localSearch startWithCompletionHandler:^(MKLocalSearchResponse *response, NSError *error) {
for (MKMapItem *item in response.mapItems) {
// do whatever you want with the results
}];
}];