project method

Future<MercatorCoordinate> project(
  1. Point coordinate,
  2. double zoomScale
)

Calculate a point on the map in Mercator Projection for a given coordinate at the specified zoom scale.

@param coordinate The longitude-latitude pair for which to return the value. @param zoomScale The current zoom factor (2 ^ Zoom level) applied on the map, is used to calculate the world size as tileSize * zoomScale (i.e., 512 * 2 ^ Zoom level) where tileSize is the width of a tile in pixels.

@return Returns a point on the map in Mercator projection.

Implementation

Future<MercatorCoordinate> project(Point coordinate, double zoomScale) async {
  final String pigeonVar_channelName =
      'dev.flutter.pigeon.mapbox_maps_flutter.Projection.project$pigeonVar_messageChannelSuffix';
  final BasicMessageChannel<Object?> pigeonVar_channel =
      BasicMessageChannel<Object?>(
    pigeonVar_channelName,
    pigeonChannelCodec,
    binaryMessenger: pigeonVar_binaryMessenger,
  );
  final Future<Object?> pigeonVar_sendFuture =
      pigeonVar_channel.send(<Object?>[coordinate, zoomScale]);
  final List<Object?>? pigeonVar_replyList =
      await pigeonVar_sendFuture as List<Object?>?;
  if (pigeonVar_replyList == null) {
    throw _createConnectionError(pigeonVar_channelName);
  } else if (pigeonVar_replyList.length > 1) {
    throw PlatformException(
      code: pigeonVar_replyList[0]! as String,
      message: pigeonVar_replyList[1] as String?,
      details: pigeonVar_replyList[2],
    );
  } else if (pigeonVar_replyList[0] == null) {
    throw PlatformException(
      code: 'null-error',
      message: 'Host platform returned null value for non-null return value.',
    );
  } else {
    return (pigeonVar_replyList[0] as MercatorCoordinate?)!;
  }
}