MarkerLayer static method
MarkerLayer
MarkerLayer(
- dynamic marker, {
- dynamic widget = markerDef,
- double opacity = opacityDef,
- double size = markerSizeDef,
- double width = markerSizeDef,
- double height = markerSizeDef,
- MarkerAlignment align = markerAlignDef,
- MarkerOffset? offset,
- TapLayerCallback? onTap,
- TapUpLayerCallback? onTapUp,
- TapDownLayerCallback? onTapDown,
- TapLayerCallback? onTapCancel,
- TapLayerCallback? onSecondaryTap,
- TapDownLayerCallback? onSecondaryTapDown,
- TapUpLayerCallback? onSecondaryTapUp,
- TapLayerCallback? onSecondaryTapCancel,
- DoubleTapLayerCallback? onDoubleTap,
- LongPressLayerCallback? onLongPress,
- LongPressStartLayerCallback? onLongPressStart,
- LongPressMoveUpdateLayerCallback? onLongPressMoveUpdate,
- LongPressUpLayerCallback? onLongPressUp,
- LongPressEndLayerCallback? onLongPressEnd,
- LongPressLayerCallback? onSecondaryLongPress,
- LongPressStartLayerCallback? onSecondaryLongPressStart,
- LongPressMoveUpdateLayerCallback? onSecondaryLongPressMoveUpdate,
- LongPressUpLayerCallback? onSecondaryLongPressUp,
- LongPressEndLayerCallback? onSecondaryLongPressEnd,
- dynamic data,
Used to display marker(s) at specified locations on map.
@param: marker
This param can accept any type of inputs for a single marker or multiple markers.
Example:
Single Marker
U.MarkerLayer([-6.175329, 106.827253], ...)
U.MarkerLayer(LatLng(-6.175329, 106.827253), ...)
U.MarkerLayer(U.Marker([-6.175329, 106.827253]), ...)
Multiple Markers
U.MarkerLayer([
[-6.175329, 106.827253],
[-6.181883, 106.826933],
], ...)
U.MarkerLayer([
LatLng(-6.175329, 106.827253),
LatLng(-6.181883, 106.826933),
], ...)
U.MarkerLayer([
U.Marker([-6.175329, 106.827253]),
U.Marker([-6.181883, 106.826933]),
], ...)
@param: widget
Used to define the widget to show as Marker.
Available values:
MarkerIcon
MarkerImage
MarkerSvg
MarkerWidget
Default:
MarkerSvg('packages/universe/assets/marker2.svg')
Implementation
// ignore: non_constant_identifier_names
static L.MarkerLayer MarkerLayer(
dynamic marker, {
dynamic widget = markerDef,
double opacity = opacityDef,
double size = markerSizeDef,
double width = markerSizeDef,
double height = markerSizeDef,
L.MarkerAlignment align = markerAlignDef,
L.MarkerOffset? offset,
L.TapLayerCallback? onTap,
L.TapUpLayerCallback? onTapUp,
L.TapDownLayerCallback? onTapDown,
L.TapLayerCallback? onTapCancel,
L.TapLayerCallback? onSecondaryTap,
L.TapDownLayerCallback? onSecondaryTapDown,
L.TapUpLayerCallback? onSecondaryTapUp,
L.TapLayerCallback? onSecondaryTapCancel,
L.DoubleTapLayerCallback? onDoubleTap,
L.LongPressLayerCallback? onLongPress,
L.LongPressStartLayerCallback? onLongPressStart,
L.LongPressMoveUpdateLayerCallback? onLongPressMoveUpdate,
L.LongPressUpLayerCallback? onLongPressUp,
L.LongPressEndLayerCallback? onLongPressEnd,
L.LongPressLayerCallback? onSecondaryLongPress,
L.LongPressStartLayerCallback? onSecondaryLongPressStart,
L.LongPressMoveUpdateLayerCallback? onSecondaryLongPressMoveUpdate,
L.LongPressUpLayerCallback? onSecondaryLongPressUp,
L.LongPressEndLayerCallback? onSecondaryLongPressEnd,
dynamic data,
}) {
bool isMarker = marker is L.Marker;
bool isLatLng = marker is LatLng;
bool isList = (marker is List &&
marker.isNotEmpty &&
(marker.first is int || marker.first is double));
List<dynamic> items = (isMarker || isLatLng || isList) ? [marker] : marker;
return L.MarkerLayer(
items
.map((value) => L.Marker.from(
value,
size: size,
width: width,
height: height,
widget: widget,
data: data,
))
.toList(),
options: L.MarkerLayerOptions(
opacity: opacity,
align: align,
offset: offset,
onTap: onTap,
onTapUp: onTapUp,
onTapDown: onTapDown,
onTapCancel: onTapCancel,
onSecondaryTap: onSecondaryTap,
onSecondaryTapDown: onSecondaryTapDown,
onSecondaryTapUp: onSecondaryTapUp,
onSecondaryTapCancel: onSecondaryTapCancel,
onDoubleTap: onDoubleTap,
onLongPress: onLongPress,
onLongPressStart: onLongPressStart,
onLongPressMoveUpdate: onLongPressMoveUpdate,
onLongPressUp: onLongPressUp,
onLongPressEnd: onLongPressEnd,
onSecondaryLongPress: onSecondaryLongPress,
onSecondaryLongPressStart: onSecondaryLongPressStart,
onSecondaryLongPressMoveUpdate: onSecondaryLongPressMoveUpdate,
onSecondaryLongPressUp: onSecondaryLongPressUp,
onSecondaryLongPressEnd: onSecondaryLongPressEnd,
),
);
}