Flutter的Google地图小部件未被Card或ClipRRect裁剪

时间:2019-07-27 19:22:14

标签: flutter dart

我正在尝试将Google Mapview放入卡片中,然后四舍五入。唯一的问题是,尽管在卡本身中设置了Clipping Behaviour并尝试了ClipRRect的多个组合,但是视图并没有在角落处修剪。

编辑

我也尝试过使用FittedBox和ConstrainedBox来使地图稳固放置,但到目前为止还没有用。

Widget build(BuildContext context) {
    return ClipRRect(
          borderRadius: BorderRadius.circular(15.0),
          child: Container(
        width: 400,
        height: 200,
        child: Card(
            shape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.circular(15.0)),
                  semanticContainer: true,
                  clipBehavior: Clip.antiAliasWithSaveLayer,
                  child:GoogleMap(
                    mapType: MapType.hybrid,
                    initialCameraPosition: _kGooglePlex,
                    onMapCreated: (GoogleMapController controller) {
                      controller.setMapStyle(MapStyle.retro);
                      _controller.complete(controller);
                    },
                  ),
              ))
    );
  }

1 个答案:

答案 0 :(得分:0)

解决方案

这实际上是Flutter UiKitView中的一个错误,此错误自最近(大约2天前)以来已在主频道上进行了修补。

此拉取请求最初对其进行了跟踪:

https://github.com/flutter/flutter/issues/30117

我上面的代码有效,但解决方案是如果尚未执行以下操作:

在您的应用目录中,运行以下命令:

flutter channel master
flutter upgrade
flutter clean
flutter build ios
flutter run

警告::这将使您进入 master 频道,并离开默认的 stable 频道,因此里程可能会有所不同。