无法计算到注释的距离

时间:2012-05-25 09:28:12

标签: ios xcode distance

尝试计算距离注释的距离,但由于某种原因无法获得注释坐标。我从plist加载注释。

CLLocationCoordinate2D annocoord = myAnnotation.coordinate;
        CLLocationCoordinate2D usercoord = self.mapView.userLocation.coordinate;

        NSLog(@"ANNO  = %f, %f", annocoord.latitude, annocoord.longitude);
        NSLog(@"USER = %f, %f", usercoord.latitude, usercoord.longitude);

        CLLocation *loc = [[CLLocation alloc] initWithLatitude:myAnnotation.coordinate.latitude longitude:myAnnotation.coordinate.longitude];
        CLLocation *loc2 = [[CLLocation alloc] initWithLatitude:self.mapView.userLocation.coordinate.latitude longitude:self.mapView.userLocation.coordinate.longitude];

        NSLog(@"LOC  = %f, %f", loc.coordinate.latitude,  loc.coordinate.longitude);
        NSLog(@"LOC2 = %f, %f", loc2.coordinate.latitude, loc2.coordinate.longitude);

        CLLocationDistance dist = [loc distanceFromLocation:loc2];

        NSLog(@"DIST: %f", dist);

日志:

ANNO  = 0.000000, 0.000000
USER = 60.492631, 22.258933
LOC  = 0.000000, 0.000000
LOC2 = 60.492631, 22.258933
DIST: 6999960.693412

1 个答案:

答案 0 :(得分:0)

-(CGFloat)distanceBetweenTwoPoints:(CGPoint)firstP secondPoint:(CGPoint)secondP{

    CGFloat distance = sqrtf(powf((secondP.y - firstP.y), 2.0) + powf((secondP.x - firstP.x), 2.0));

    return distance;

}

使用此代码查找两点之间的距离。