提问人:Chase Starr-Kercheval 提问时间:11/9/2023 更新时间:11/22/2023 访问量:42
FlutterFlow 自定义 widget 错误 - 从 pub.dev 实现flutter_map包
FlutterFlow Custom Widget Error - Implementing flutter_map package from pub.dev
问:
总结:
我正在尝试使用 pub.dev 的 flutter_map 包在 FlutterFlow 中构建一个自定义小部件。我想我已经非常接近让基本构建正常工作了,但它抛出了一个我不明白如何修复的错误(请参阅下面的错误)。此错误来自靠近底部的自定义小部件中的“layers”参数。
我看过一些关于将这个包实现到 Flutter 应用程序中的教程,他们能够毫无问题地使用“layers”参数。下面是一个示例:https://www.youtube.com/watch?v=hZwrcOTxDJI&t=391s
请帮忙:') 如果我在这里提供的信息不足,我非常乐意提供进一步的信息。
错误:“未定义命名参数'layers'。尝试将名称更正为现有命名参数的名称,或使用名称“layers”定义命名参数。
自定义代码”
// Automatic FlutterFlow imports
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/custom_code/widgets/index.dart'; // Imports other custom widgets
import '/flutter_flow/custom_functions.dart'; // Imports custom functions
import 'package:flutter/material.dart';
// Begin custom widget code
// DO NOT REMOVE OR MODIFY THE CODE ABOVE!
import 'package:flutter_map/flutter_map.dart';
import 'package:latlong2/latlong.dart' as ltlng;
class FlutterMapTest extends StatefulWidget {
const FlutterMapTest({Key? key, this.width, this.height, this.layers})
: super(key: key);
final double? width;
final double? height;
@override
_FlutterMapTestState createState() => _FlutterMapTestState();
}
class _FlutterMapTestState extends State<FlutterMapTest> {
@override
Widget build(BuildContext context) {
return Column(children: <Widget>[
FlutterMap(
mapController: MapController(),
options: MapOptions(),
children: [],
layers: TileLayer(
urlTemplate:
"***",
additionalOptions: {
'accessToken':
"***",
},
))
]);
}
}
Pubspec 依赖项 flutter_map:^4.0.0
我尝试创建一个名为“layers”的参数,将该参数添加到代码中,但它没有解决任何问题。老实说,这是黑暗中的一枪。
答:
1赞
Chase Starr-Kercheval
11/22/2023
#1
如果将来有人遇到这种情况,解决方法是删除“layers”参数并将 TileLayer 块移动到“children”参数内。为此,我不得不重写一些代码,但我已经设法在我的 FlutterFlow 应用程序中内置了一个功能强大的动态 Mapbox 地图。
更新后的代码如下:
class _FlutterMapWidgetState extends State<FlutterMapWidget> {
@override
Widget build(BuildContext context) {
return Container(
width: widget.width,
height: widget.height,
child: FlutterMap(
mapController: MapController(),
options: MapOptions(
center: ltlng.LatLng(34.6, -92.4),
zoom: 7.0,
minZoom: 7.0,
),
children: [
TileLayer(
urlTemplate:
"***",
additionalOptions: {
'accessToken':
"***",
}, //additionalOptions
) //TileLayer
], //children
) //FlutterMap
);
}
}
评论