I have a marker in my Google Maps map that looks like this:
When the user is driving, I want to rotate it based on his driving direction. How can I achieve this? I should probably use previous location and current location coords for calculation, but I have no idea how.
If you use GPS for locating the user then the
Location
object you get inonLocationChanged
contains the bearing.If you only have the two coordinates (e.g. you only have coordinates from network location provider), you can use
Location.bearingTo()
to calculate the bearing of two coordinates:If you have a bearing, you can set the rotation of the marker using
MarkerOptions.rotation()
:You have to set the anchor to the point you want to rotate around, and it's also the point you want to be at the position you set to the marker. (0.5, 0.5) is the center of the image.