2
我正在使用iOS MapView。每當我搜索一個地方時,它都會給出令人驚訝的錯誤結果。Mapview顯示錯誤的搜索結果
如果我搜索'必勝客',它會帶我去日本。如果我尋找拉爾巴格,它會把我帶到比哈爾的巴特那。對於UB城市來說,需要我到美國
你能幫我嗎?
以下是要搜索的代碼。
_geocoder = [[CLGeocoder alloc] init];
[_geocoder geocodeAddressString:textField.text completionHandler:^(NSArray *placemarks, NSError *error) {
//Error checking
[Utility hideProgressHUD];
CLPlacemark *placemark = [placemarks objectAtIndex:0];
MKCoordinateRegion region;
region.center = [(CLCircularRegion *)placemark.region center];
// region.center.latitude = placemark.region.center.latitude;
// region.center.longitude = placemark.region.center.longitude;
MKCoordinateSpan span;
double radius = [(CLCircularRegion *)placemark.region radius]/1000; // convert to km
NSLog(@"[searchBarSearchButtonClicked] Radius is %f", radius);
span.latitudeDelta = radius/112.0;
region.span = span;
[_mapView setRegion:region animated:YES];
}];
可以工作,但我們不能要求用戶搜索相同的模式。用戶只需鍵入一個位置。順便說一下,有多少郵編準確記得任何人? –
在這種情況下,您可以避免給郵政編碼,並嘗試使用街道名稱或特定區域,它會爲你工作,但給郵政編碼可以幫助'geocoder'找到更準確的結果。 –
從最終用戶的角度思考。作爲一個普通用戶,沒有人會搜索街道名稱,州,國家或任何其他地方。他只會搜索關鍵字。如果用戶想要搜索「咖啡日」,該怎麼辦?他只會說咖啡日。他不會提到任何街道。用戶的意圖是搜索接近他當前位置的Coffee Days。 –