首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LateError (LateInitializationError:字段'_state@504051772‘)已在flutter_map包中初始化。

LateError (LateInitializationError:字段'_state@504051772‘)已在flutter_map包中初始化。
EN

Stack Overflow用户
提问于 2022-07-20 10:34:01
回答 1查看 386关注 0票数 2

你好,在成功的身份验证之后,我正在尝试加载FlutterMap,并且在获得令牌后,我使用提供者重定向到映射屏幕,但我不是要重定向到地图屏幕,而是在身份验证之后重定向到地图屏幕,我在这里面临上述错误,下面是我的main.dart

代码语言:javascript
复制
home: value.isAuth ? const mapscreen() : Otp(),
          routes: {
            'verifyotp': (context) {
              
              return value.isAuth ? const mapscreen() : const VerifyOtp();
            },
            'mapview': (context) => const mapscreen(),
          },

在上面的代码中删除value.isAuth?来自家里的const ():那么它正在工作,在验证otp之后,我是要显示的,但是当我添加value.isAuth时呢?在家里的Otp()之前的这个代码:然后它抛出错误,请帮助我解决这个问题

下面是我的地图屏幕

代码语言:javascript
复制
class _mapscreen extends State<mapscreen> {
  TextEditingController location = TextEditingController();

  @override
  Widget build(BuildContext context) {
    var userdata = Provider.of<UserBookings>(context);

    return Scaffold(
      body: FlutterMap(
        options: MapOptions(
            onTap: (p, l) async {
              setState(() {
                userdata.currentlocation = l;
              });
            },
            center: userdata.currentlocation,
            zoom: 15.0,
            maxZoom: 17),
        mapController: userdata.mapController,
        layers: [
          TileLayerOptions(
            urlTemplate:
                "https://api.mapbox.com/styles/v1/santosh8712/cl2xkbjd8000q14nxzevw3dkf/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1Ijoic2FudG9zaD",
            
          ),
          MarkerLayerOptions(
            rotate: true,
            markers: [
              Marker(
                width: 100.0,
                height: 100.0,
                rotate: true,
                point: userdata.currentlocation ?? LatLng(15, -15),
                builder: (ctx) => const Icon(
                  Icons.person_pin_circle_rounded,
                  color: Colors.red,
                  size: 45,
                ),
              ),
            ],

我确信错误来自地图控制器

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-20 15:25:47

要使用MapController,它必须初始化,然后传递给FlutterMap。这会将它们附加到小部件被销毁/释放为止。

代码语言:javascript
复制
final mapController = MapController();

@override
Widget build(BuildContext context) =>
    FlutterMap(
        mapController: mapController,
        ...
    );
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73050076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档