0
Je veux calculer le milieu de plusieurs Geo-Points (speicified par longitude, latitude) dans ObjCvaleurs différentes pour le calcul de MiddleOfPoints
- (CLLocationCoordinate2D)middleOfPoints:(NSOrderedSet *)points
{
int i = 0; i = points.count;
double x,y,z = 0;
for (BuildingPoint *point in points)
{
// Iterate through Set
x += cos(point.latitude.doubleValue*(M_PI/180)) * cos(point.longitude.doubleValue*(M_PI/180));
y += cos(point.latitude.doubleValue*(M_PI/180)) * sin(point.longitude.doubleValue*(M_PI/180));
z += sin(point.latitude.doubleValue*(M_PI/180));
}
x = x/i;
y = y/i;
z = z/i;
double longitude = 180/M_PI * atan2(y,x);
double t = sqrt(x * x + y * y);
double latitude = 180/M_PI * atan2(z,t);
return CLLocationCoordinate2DMake(latitude, longitude);
}
Mais pour une raison quelconque je reçois des valeurs différentes quand je l'appelle la méthode 5 fois avec le même jeu d'entrée. Des idées ?
Avez-vous eu la chance de vérifier ma réponse? Si cela vous a aidé, n'oubliez pas de "l'accepter" en cliquant sur le cadre de la case à cocher à gauche de la réponse, voir http://stackoverflow.com/faq#howtoask. –