Если вы используете Google Maps (Android), есть простой способ - используйте SphericalUtil
double angle = SphericalUtil.computeHeading(fromLatLng, toLatLng);
Считайте, что у нас есть 2 точки и их широта и долгота.
Затем создайте его объект Latlng
LatLng latlng = new LatLng(latValue, lngValue);
После получения 2 очков, используйте sperical util для получения угла
//import com.google.maps.android.SphericalUtil;
double sphericalValue = SphericalUtil.computeHeading(latLng1, latLng2);
SpericalValue - угол.
Предположим, у вас есть значок автомобиля и поверните его в соответствии с направлением движения. Здесь его от latLng1 до latLng2 затем
Bitmap vehiclePin = rotateIconBitmap(sphericalValue);
mMap.addMarker(new MarkerOptions().anchor(0.5f, 0.5f).position(latLng2))
.setIcon(BitmapDescriptorFactory.fromBitmap(vehiclePin));
используйте метод ниже, чтобы вращать
Bitmap rotateIconBitmap(double angle) {
Bitmap source = BitmapFactory.decodeResource(getResources(),
R.drawable.ic_vehicle_say_car);
Matrix matrix = new Matrix();
matrix.postRotate((float) angle);
return Bitmap.createBitmap(source, 0, 0,
source.getWidth(), source.getHeight(), matrix, true);
}
Простой способ получить убер как вращающиеся иконки
Примечание: - Возможно, вам придется добавить смещение, скажем, 90 градусов, если значок маркера не направлен на ноль градусов
Android sphericalutil с открытым исходным кодом, обратитесь к нему, если вы используете Java, вы можете использовать его.
https://github.com/googlemaps/android-maps-utils/blob/master/library/src/com/google/maps/android/SphericalUtil.java