Привет, используя следующий метод, чтобы узнать расстояние между моим текущим местоположением и местоположениями (широта и долгота), хранящимися в значении NSMutableArray.Неправильное расстояние между местоположениями в iOS?
Но я получаю неправильный distance..Please помощь ..
Мой код
-(void)getDistancetoShow:(NSMutableArray *)newArray{
CLLocationCoordinate2D coordinateUser = [self getLocation];
float _lat,_long;
first_Loc = [[CLLocation alloc] initWithLatitude:coordinateUser.latitude longitude:coordinateUser.longitude];
for(int p=0;p<[[newArray1 valueForKey:@"Name"] count];p++){
_lat=[[[newArray1 valueForKey:@"Latitude"] objectAtIndex:p]floatValue];
_long=[[[newArray1 valueForKey:@"Longitude"] objectAtIndex:p]floatValue];
second_loc=[[CLLocation alloc] initWithLatitude:_lat longitude:_long];
showDistance=[second_loc distanceFromLocation:first_Loc]/1000;
[distanceToDispaly addObject:[NSString stringWithFormat:@"%.2f KM",showDistance]];
}
NSLog(@"first=%@, second=%@", first_Loc, second_loc);
}
Latitudes в массиве
( "47,0735010448824", "+47,0564688100431", "47,0582514311038" , "47.0587640538326", "47.0569233603454", "47.0541853132569", "47,0542029215138", "+47,0544259594592", "47,0560264547367", "47,0576532159776", "47,0550023679218", "47,0342030007379", "47,0746263896213", "47,0740256635512", "47,0524765957921", "+47,0606287049051", "47,0539691521825", "47,0542799159057", "+47,0651001682846", "+47,0536948902097", "47,0525973335309", "+47,0389265414812", "+47,0761811267051", "47,0668801601942", "+47,0614859079241", "+47,0579433468181", "47,0718998779465" )
и долгота в массиве
( "21.9154175327011", "21,9312065669748", "21,9337414545594", "+21,9346772505188", "+21,9300587945685", "+21,9363460105132", "21,9362081709222", "21,9343042603097", "21,939485335992", "21,9320057169724", "21,9300799002643", "21,9485373571669", "+21,9310667367526", "21,9318507902135", "21,9192195298473", "+21,9195273899529", "21,9329595191441", "+21,9292015418841", "21,9219452321208", "21,9098849252041", "21,9074768948561", "+21,9424499491422", "21,9151458954504", "21,9304346568769", "+21,9305973807911", "21,9331511189507", "21,9159872752442" )
но реальное расстояние в чем-то вроде уставившись 9 * * ** но я getiing в настоящее время 5 * **
Вы запускаете свое приложение в тренажере? Симулятор не может показать ваше текущее местоположение. – Zhans
Каково значение 'first_Loc'? Без этой информации невозможно проверить ваши результаты. –
my lat and long 12.975602--77.638898 – Bangalore