Повернуть маркер в зависимости от направления движения

У меня есть маркер на карте Google Maps, который выглядит так:

фильм

Когда пользователь водит машину, я хочу повернуть ее в зависимости от направления движения. Как я могу это достичь? Вероятно, я должен использовать предыдущее местоположение и текущие координаты местоположения для расчета, но я понятия не имею, как это сделать.

Solutions Collecting From Web of "Повернуть маркер в зависимости от направления движения"

Если вы используете GPS для поиска пользователя, тогда объект Location вы попадаете, находится в onLocationChanged содержит подшипник .

Если у вас есть только две координаты (например, у вас есть только координаты от поставщика сетевого местоположения), вы можете использовать Location.bearingTo() для вычисления несущей двух координат:

 Location prevLoc = ... ; Location newLoc = ... ; float bearing = prevLoc.bearingTo(newLoc) ; 

Если у вас есть подшипник, вы можете установить вращение маркера с помощью MarkerOptions.rotation() :

 mMap.addMarker(new MarkerOptions() .position(markerLatLng) .icon(BitmapDescriptorFactory.fromResource(R.drawable.map_marker)) .anchor(0.5f, 0.5f) .rotation(bearing) .flat(true)); 

Вы должны установить привязку к точке, которую хотите повернуть, и это также точка, которую вы хотите находиться в позиции, которую вы установили в маркер. (0,5, 0,5) является центром изображения.