getTemplateUrl method
Implementation
@override
// ignore: avoid_renaming_method_parameters
String getTemplateUrl(Crs mapCrs, Coordinate? coordinate) {
final crs = this.crs ?? mapCrs;
final tileWidth = tileSize.width.toInt();
final tileHeight = tileSize.height.toInt();
final tileSizePoint = UPoint(
tileWidth.toDouble(),
tileHeight.toDouble(),
);
final nwPoint = coordinate!.scaleBy(tileSizePoint);
final sePoint = nwPoint + tileSizePoint;
final nwLatLng = crs.pointToLatLng(UPoint.from(nwPoint), coordinate.z);
final seLatLng = crs.pointToLatLng(UPoint.from(sePoint), coordinate.z);
final nw = crs.project(nwLatLng);
final se = crs.project(seLatLng);
final bounds = Bounds(nw, se);
final bbox = (versionNumber >= 1.3 && crs is Epsg4326)
? [bounds.min.y, bounds.min.x, bounds.max.y, bounds.max.x]
: [bounds.min.x, bounds.min.y, bounds.max.x, bounds.max.y];
final buffer = StringBuffer(_baseUrl(crs));
buffer.write('&$paramWidth=${isRetinaMode ? tileWidth * 2 : tileWidth}');
buffer.write('&$paramHeight=${isRetinaMode ? tileHeight * 2 : tileHeight}');
buffer.write('&$paramBbox=${bbox.join(',')}');
return buffer.toString();
}