project method

  1. @override
Point project(
  1. double longitude,
  2. double latitude
)
override

Projects a geographic coordinate longitude, latitude to screen coordinates.

Implementation

@override
Point project(double longitude, double latitude) {
  final lon = toRadians(longitude - centerLon);
  final lat = toRadians(latitude);

  final cosLat = math.cos(lat);
  final sinLon = math.sin(lon);
  final cosLon = math.cos(lon);

  final x = math.atan2(math.tan(lat), cosLon);
  final y = 0.5 * math.log((1 + cosLat * sinLon) / (1 - cosLat * sinLon));

  return applyTransform(y, -x);
}