-1

GPSで距離をキロメートル単位でカウントするアプリが1つあります。そして私の問題は、私のアプリがキロメートルを遅らせたことです。

これを使用して座標を更新します。

lm.requestLocationUpdates(lm.GPS_PROVIDER, 180,1, Loclist); 

200km\hで1メートルを計算すると、180ミリ秒かかります。しかし、これは間違っているのかもしれません。

車で何キロも移動するための更新プログラムの最適な方法がわかりません。

このコードを使用して距離を計算します。

Location locationA = new Location("point A");
    locationA.setLatitude(lastLat);
    locationA.setLongitude(lastLon);


Location locationB = new Location("point B");
        locationB.setLatitude(currentLat);
        locationB.setLongitude(currentLon);


        distanceMeters = locationA.distanceTo(locationB);

私の悪い英語でごめんなさい。

前もって感謝します。

4

2 に答える 2

0

GPS チップ (および携帯電話のチップ) は、1 秒に 1 回しか位置情報を提供しません。そのため、おそらく少しフィルタリングして距離を合計すると、正しい距離が得られます。

もちろん、距離は 1 ~ 1.5 秒遅れる可能性があります。前回の位置更新以降の距離を推定したい場合、または測定された位置のみを測定したい場合は、アプリによって異なります。

外挿すると、後で推定が間違っていたことが判明する可能性があることは明らかです(たとえば、車を減速する場合)。

ですから、私のアドバイスは、Gps から得たものだけを合計することです。

于 2013-07-03T09:45:03.970 に答える
-1

速度 = lm.getSpeed(); if(first_km) timeTaken =TimeNow - TimeStarted; そうでなければ timeTaken = TimeNow - TimeLastKilometer;

次に、30Km/h を取得すると、30/60 分 = 1 キロメートルを取得するのにかかる時間になります。(速度/60) = timeTakenToGetKilometer;

TimeLastKilometer = TimeNow;

キロメートル++;

于 2013-07-02T11:00:18.310 に答える