maxGeoPointsInDeviceScreen static method

List<Point<num>> maxGeoPointsInDeviceScreen(
  1. Geometry centerGeo,
  2. List<int> screenSize
)

Implementation

static List<math.Point> maxGeoPointsInDeviceScreen(
    Geometry centerGeo, List<int> screenSize) {
  final mpp = metersPerPixels(centerGeo.latitude, centerGeo.zoom);
  final pm = projectedMeters(centerGeo.latitude, centerGeo.longitude);
  final dx = mpp * (screenSize[0] / 2.0);
  final dy = mpp * (screenSize[1] / 2.0);

  final topLeft = pointForProjectedMeters(
      ProjectedMeters(pm.northing - dy, pm.easting - dx));
  final topRight = pointForProjectedMeters(
      ProjectedMeters(pm.northing - dy, pm.easting + dx));
  final bottomLeft = pointForProjectedMeters(
      ProjectedMeters(pm.northing + dy, pm.easting - dx));
  final bottomRight = pointForProjectedMeters(
      ProjectedMeters(pm.northing + dy, pm.easting + dx));
  return [topLeft, topRight, bottomLeft, bottomRight];
}