MKLocalSearch将结果返回到区域之外

时间:2014-11-12 09:58:07

标签: ios objective-c maps apple-maps

我正在使用Apple Maps获取本地区域的地址列表。但是,它似乎是来自世界各地的结果,而不是我指定的地图区域。

我正在使用以下代码,并检查了该区域,以确保它“广泛”整个伦敦(参见附件)mapView具有相同的参数。然而,在我的结果中,我有时在德国,美国或南美洲都有位置。

任何人都可以看到我做错了什么?

MKLocalSearchRequest* request = [[MKLocalSearchRequest alloc] init];
request.naturalLanguageQuery = searchTerm;

CLLocationCoordinate2D cornerCoordinate = CLLocationCoordinate2DMake(51.5007282, -0.1246263);
request.region = MKCoordinateRegionMakeWithDistance(cornerCoordinate, 50000, 50000);

MKLocalSearch* search = [[MKLocalSearch alloc] initWithRequest:request];
[search startWithCompletionHandler:^(MKLocalSearchResponse *response, NSError *error) {

    //results come in here
}];

地图区域: enter image description here

1 个答案:

答案 0 :(得分:0)

试试这个解决方案。在这里,我认为问题是因为您指定的区域。

MKLocalSearchRequest *request = [[MKLocalSearchRequest alloc] init];
request.naturalLanguageQuery = searchTerm;
MKCoordinateSpan span = MKCoordinateSpanMake(.1, .1);

CLLocationCoordinate2D cornerCoordinate = CLLocationCoordinate2DMake(51.5007282, -0.1246263);
request.region = MKCoordinateRegionMake(cornerCoordinate, span);
MKLocalSearch *search = [[MKLocalSearch alloc] initWithRequest:request];


[search startWithCompletionHandler:^(MKLocalSearchResponse *response, NSError *error) {
}];