5

I'm a mobile developer working on an Android and iOS app that displays the user's location and various POIs on a map. I've been comparing the location objects that I get back from Android and iOS and I noticed that they both provide a property that represents the "direction that the device is traveling". Android refers to this value as a bearing and iOS refers to it as course.

Here's what the Android documentation says:

Bearing is the horizontal direction of travel of this device, and is not related to the device orientation. It is guaranteed to be in the range (0.0, 360.0] if the device has a bearing. If this location does not have a bearing then 0.0 is returned.

And from the iOS documentation:

Course is the direction in which the device is traveling, measured in degrees and relative to due north. A negative value indicates that the course information is invalid.

Given these definitions, it sounds like they are the same thing but I'm confused as to why they have been given different names. Is one term (bearing or course) "more correct" than the other or is this just a matter of Google choosing to call it one thing and Apple choosing something else?

2

I'd argue that Bearing is more correct than Course in this context, although a big caveat is that I'm an Android developer. Also, the answers you get may differ depending on what industry they are coming from.

Here's a related question on aviation.stackexchange.com comparing Bearing, Course, Direction, and Heading.

Course, in the traditional sense, implies a planned direction, which we don't really have in this context (we don't know where the user is planning on going). However, Bearing is the measurement of the direction in degrees from north, which is the exact number you get from the API.

Note that Heading definitely wouldn't be right, as it's traditionally defined as the direction in which the front of the vehicle is facing - and the definition for the Location API specifically says it's not related to the device orientation. And, because you'd traditionally want your Heading to align with your Course, to me that implies that Course has a component of device orientation associated with it as well.

But, most mobile device developers would probably consider Bearing and Course equivalent.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.