こんにちは、次の方法を使用して、現在の場所と NSMutableArray 値に格納されている場所 (緯度と経度) の間の距離を調べます。
しかし、距離が間違っています..助けてください..
私のコード
-(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);
}
配列内の緯度
( "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* * **で見つめているようなもの ですが、今は 5* **取得しています。