【问题标题】:Determining exact distance travelled确定行进的确切距离
【发布时间】:2013-10-30 13:14:27
【问题描述】:

这里有什么问题?我试图获得总行驶距离,但是当我开始开车回到起点时,我的价值下降了?需要修复什么。谢谢。

    -(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {

    if (startLocation == nil)
        self.startLocation = newLocation; //if this is the first update colocation called startlocation = new location

    CLLocationDistance distanceBetween = [newLocation
                                          distanceFromLocation:startLocation]; //here is my problem I think

    NSString *tripString = [[NSString alloc]       //convert to string
                            initWithFormat:@"%f",
                            distanceBetween];
    distance.text = tripString; //update my distance label called distance


}

【问题讨论】:

    标签: core-location cllocationmanager cllocation


    【解决方案1】:

    试试这个方法:

    -(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
        if (startLocation == nil)
        {
            self.totalDistanceBetween = 0; // declare this variable
            self.startLocation = newLocation;
        }
        CLLocationDistance distanceBetween = [newLocation distanceFromLocation:startLocation ];
        startLocation = newLocation;
        self.totalDistanceBetween += distanceBetween; // declare this variable
        NSString *tripString = [[NSString alloc]       //convert to string
                                initWithFormat:@"%f",
                                self.totalDistanceBetween];
        distance.text = tripString; //update my distance label called distance
    }
    

    【讨论】:

    • totaldistancebetween应该是什么变量类型?
    • @Rookie CLLocationDistance 或双倍
    • @Rookie 它应该被声明为这个类的成员,或者作为静态变量,但不在函数内
    • 好吧,发生的情况是它跳跃了很多(数百或数千),但在 15 秒左右后它开始正确更新(假设值以米为单位更新)。我不熟悉核心位置,但似乎正在发生的事情是从一开始就没有建立牢固的联系并且需要一段时间。出于测试目的,我在视图加载时启动了 CLLocationManager。如果我是正确的,如何在更新开始之前确认建立了良好的连接。或者是别的什么?感谢您的帮助!
    • 了解 distanceFilter developer.apple.com/library/ios/documentation/CoreLocation/… 看起来它解决了初始定位问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    相关资源
    最近更新 更多