【问题标题】:Is it possible to add opacity to the GoogleMap widget?是否可以为 GoogleMap 小部件添加不透明度?
【发布时间】:2019-11-12 15:39:13
【问题描述】:

我正在尝试为 GoogleMap 小部件添加不透明度,但没有看到任何变化。

我之前曾尝试使用Container 包装整个小部件,然后将OpacityGoogleMap 添加为直接子级,但这也不起作用。

下面的代码可以正确构建,但没有添加不透明度:

@override
Widget build(BuildContext context) {
  return MaterialApp(
    home: Scaffold(
      body: Stack(
        children: <Widget>[
          Opacity(
            opacity: 0.5,
            child: GoogleMap(
              onMapCreated: _onMapCreated,
              myLocationButtonEnabled: false,
              initialCameraPosition: CameraPosition(
                target: _center,
                zoom: 15.0,
              ),
              indoorViewEnabled: false,
              mapType: MapType.normal,
              markers: _markers
            )
          ),
          ...
        ]
      )
    )
  );
}

我希望地图是不透明的。 GoogleMaps 插件可以做到这一点,还是它们会阻止这样的样式?

【问题讨论】:

    标签: google-maps flutter flutter-layout flutter-plugin


    【解决方案1】:

    google_maps_flutter plugin 在 iOS 上呈现原生 GMSMapView,在 Android 上呈现原生 MapView,因此需要插件本身实现 alpha 设置才能访问它。

    不幸的是,您无法像渲染原生组件时尝试的那样使用 Flutter 的 Opacity 小部件,因为该小部件仅适用于 Flutter 本身在画布上绘制的元素。

    因此,如果您真的想实现这一点,则必须自己在 Android 和 iOS 中实现这一点。在这种情况下,您可以使用google_maps_flutter 插件作为参考。

    【讨论】:

    • 啊,真不幸,感谢蒂姆的回复。
    猜你喜欢
    • 2010-11-17
    • 2011-09-16
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多