generateReplacementMap method
Map<String, String>
generateReplacementMap(
- String urlTemplate,
- TileCoordinates coordinates,
- TileLayer options
inherited
Generate the Map of placeholders to replacements, to be used in
populateTemplatePlaceholders
Instead of overriding this directly, consider using
TileLayer.additionalOptions
to inject additional placeholders.
When creating a specialized TileProvider
, prefer overriding URL
generation related methods in the following order:
populateTemplatePlaceholders
- generateReplacementMap
- getTileUrl and/or getTileFallbackUrl
Note to implementors: it is not safe to assume that at least one of
wmsOptions
or urlTemplate
will be non-null.
Implementation
@visibleForOverriding
Map<String, String> generateReplacementMap(
String urlTemplate,
TileCoordinates coordinates,
TileLayer options,
) {
final zoom = (options.zoomOffset +
(options.zoomReverse
? options.maxZoom - coordinates.z.toDouble()
: coordinates.z.toDouble()))
.round();
return {
'x': coordinates.x.toString(),
'y': (options.tms ? ((1 << zoom) - 1) - coordinates.y : coordinates.y)
.toString(),
'z': zoom.toString(),
's': options.subdomains.isEmpty
? ''
: options.subdomains[
(coordinates.x + coordinates.y) % options.subdomains.length],
'r': options.resolvedRetinaMode == RetinaMode.server ? '@2x' : '',
'd': options.tileSize.toString(),
...options.additionalOptions,
};
}