FlutterFlow 自定义 widget 错误 - 从 pub.dev 实现flutter_map包

FlutterFlow Custom Widget Error - Implementing flutter_map package from pub.dev

提问人:Chase Starr-Kercheval 提问时间:11/9/2023 更新时间:11/22/2023 访问量:42

问:

总结:
我正在尝试使用 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”的参数,将该参数添加到代码中,但它没有解决任何问题。老实说,这是黑暗中的一枪。

地图 FlutterMap Flutterflow flutter-mapbox-gl

评论

0赞 Chase Starr-Kercheval 11/10/2023
如果将来有人遇到这种情况,解决方法是删除“layers”参数并将 TileLayer 块移动到“children”参数内。为此,我不得不重写一些代码,但我已经设法在我的 FlutterFlow 应用程序中内置了一个功能强大的动态 Mapbox 地图。
0赞 Jack 11/18/2023
感谢您分享 Chase。请将其添加为问题的答案。如果您也可以在那里添加代码,那就太好了。它将帮助人们,也允许人们为您的答案投赞成票。将自己的答案标记为答案并没有错。
1赞 Chase Starr-Kercheval 11/22/2023
很酷,我会这样做的。直到现在才知道可以回答我自己的问题,哈哈@jack
0赞 Jack 11/23/2023
真的很酷,谢谢,蔡斯

答:

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
        );
  }
}