In meiner Anwendungssuche mit der Standortzeichenfolge gibt es das Ergebnis 5 zurück, das jedoch nicht mit der Standardgerätekarten-App übereinstimmt.Apple CLGeocoder, MKLocalSearch-Ergebnis weichen vom Gerätekartenergebnis ab
meinen Code 1: CLGeocoder
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressString:searchKey completionHandler:^(NSArray* placemarks, NSError* error){
dispatch_async(dispatch_get_main_queue(), ^{
if (placemarks.count > 0) {
searchLocations = placemarks;
} else {
searchLocations = nil;
}
[searchTableView reloadData];
for (CLPlacemark *placemark in placemarks) {
NSLog(@"place dic %@",placemark.addressDictionary);
}
});
}];
Code 2: MKLocalSearch
CLLocation *userLoc = (CLLocation *)[[MYLocationManager defaultManager] currentLocation];
MKLocalSearchRequest *request = [[MKLocalSearchRequest alloc] init];
request.region = MKCoordinateRegionMakeWithDistance(userLoc.coordinate, 100000, 100000);
request.naturalLanguageQuery = searchKey;
MKLocalSearch *search = [[MKLocalSearch alloc] initWithRequest:request];
[search startWithCompletionHandler:^(MKLocalSearchResponse * _Nullable response, NSError * _Nullable error) {
NSMutableArray *locs = [[NSMutableArray alloc]init];
for (MKMapItem *placeM in response.mapItems) {
[locs addObject:placeM.placemark];
}
if (locs.count > 0) {
searchLocations = locs;
} else {
searchLocations = nil;
}
dispatch_async(dispatch_get_main_queue(), ^{
[searchTableView reloadData];
});
}];
Beide sind gleiche Ergebnis zurück
Geräte Karte App Ergebnis:
Das Gerätekartenergebnis unterscheidet sich von den codierten Geo-Ergebnissen. bitte helfen Sie das zu lösen. und meine Frage ist, welche Art von Suchmethodik verwenden die Standard-Kartenanwendung? und wie bekomme ich das gleiche Ergebnis in der Codierung?