copyWithMetersOffset method

Coordinates copyWithMetersOffset({
  1. required int metersLatitude,
  2. required int metersLongitude,
})

Creates a new coordinates object with the given meters offset

Parameters

  • IN metersLatitude Latitude offset in meters
  • IN metersLongitude Longitude offset in meters

Returns

  • A new Coordinates object with the given meters offset

Implementation

Coordinates copyWithMetersOffset({
  required final int metersLatitude,
  required final int metersLongitude,
}) {
  const double earthRadius = 6371000; // Earth's radius in meters
  final double latitudeInDegrees = metersLatitude / earthRadius * (180 / pi);
  final double longitudeInDegrees =
      metersLongitude / (earthRadius * cos(latitude * pi / 180)) * (180 / pi);

  return Coordinates(
    latitude: latitude + latitudeInDegrees,
    longitude: longitude + longitudeInDegrees,
    altitude: altitude,
    horizontalaccuracy: horizontalaccuracy,
    verticalaccuracy: verticalaccuracy,
    sceneobject: sceneobject,
  );
}