koti
koti

Reputation: 3701

Calculating user moving speed in android

I need to calculate Speed with which the user is moving. So we need two things to calculate speed which are GPS and Accelerometer.

But both have their limitations.

1)GPS is not available all the time.While I getting the current location of user always I am getting from Network provider only and not from GPS.

2)Accelerometer is not accurate.

So which approach should I go with?

Upvotes: 5

Views: 21314

Answers (3)

Shishir Shetty
Shishir Shetty

Reputation: 2049

An implementation, based on the GPS, is available at this link

Upvotes: -2

Buneme Kyakilika
Buneme Kyakilika

Reputation: 1202

You can call .getSpeed() on the locationprovider

Upvotes: 3

Ali
Ali

Reputation: 58441

The most accurate results can be obtained by using both of them, through sensor fusion. See my previous answer to question Using accelerometer to calculate speeds or to another question GPS V.S. accelerometer to calculate distance.

As for the accuracy of the accelerometer, see Get velocity from 3DVector using accelerometer sensor.

If you want to track the user indoor, see what you can actually do at question Android accelerometer accuracy (Inertial navigation).

Upvotes: 9

Related Questions