File tree Expand file tree Collapse file tree 2 files changed +12
-8
lines changed
Expand file tree Collapse file tree 2 files changed +12
-8
lines changed Original file line number Diff line number Diff line change @@ -338,7 +338,7 @@ class TileLayer extends StatefulWidget {
338338
339339 // Retina Mode Setup
340340 resolvedRetinaMode = (retinaMode ?? false )
341- ? wmsOptions == null && urlTemplate! .contains ('{r}' )
341+ ? wmsOptions == null && ( urlTemplate? .contains ('{r}' ) ?? false )
342342 ? RetinaMode .server
343343 : RetinaMode .simulation
344344 : RetinaMode .disabled;
Original file line number Diff line number Diff line change @@ -215,16 +215,20 @@ abstract class TileProvider {
215215 /// 1. [populateTemplatePlaceholders]
216216 /// 2. [generateReplacementMap]
217217 /// 3. [getTileUrl] and/or [getTileFallbackUrl]
218+ ///
219+ /// Note to implementors: it is not safe to assume that at least one of
220+ /// `wmsOptions` or `urlTemplate` will be non-null.
218221 /// {@endtemplate}
219222 String getTileUrl (TileCoordinates coordinates, TileLayer options) =>
220223 populateTemplatePlaceholders (
221- options.wmsOptions != null
222- ? options.wmsOptions! .getUrl (
223- coordinates,
224- options.tileSize.toInt (),
225- options.resolvedRetinaMode == RetinaMode .simulation,
226- )
227- : options.urlTemplate! ,
224+ options.wmsOptions? .getUrl (
225+ coordinates,
226+ options.tileSize.toInt (),
227+ options.resolvedRetinaMode == RetinaMode .simulation,
228+ ) ??
229+ options.urlTemplate ??
230+ (throw ArgumentError (
231+ '`wmsOptions` or `urlTemplate` must be provided to generate a tile URL' )),
228232 coordinates,
229233 options,
230234 );
You can’t perform that action at this time.
0 commit comments