project method
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 __pigeon_channelName =
'dev.flutter.pigeon.mapbox_maps_flutter.Projection.project$__pigeon_messageChannelSuffix';
final BasicMessageChannel<Object?> __pigeon_channel =
BasicMessageChannel<Object?>(
__pigeon_channelName,
pigeonChannelCodec,
binaryMessenger: __pigeon_binaryMessenger,
);
final List<Object?>? __pigeon_replyList = await __pigeon_channel
.send(<Object?>[coordinate, zoomScale]) as List<Object?>?;
if (__pigeon_replyList == null) {
throw _createConnectionError(__pigeon_channelName);
} else if (__pigeon_replyList.length > 1) {
throw PlatformException(
code: __pigeon_replyList[0]! as String,
message: __pigeon_replyList[1] as String?,
details: __pigeon_replyList[2],
);
} else if (__pigeon_replyList[0] == null) {
throw PlatformException(
code: 'null-error',
message: 'Host platform returned null value for non-null return value.',
);
} else {
return (__pigeon_replyList[0] as MercatorCoordinate?)!;
}
}