首页 > 解决方案 > Flutter 的谷歌地图插件 onTap 不工作

问题描述

我正在创建简单的应用程序,我需要在点击地图时添加一个标记。我正在使用google_maps_flutter插件的onTap属性:

var markers = Set<Marker>();
...

body: Stack(
  children: [
    Positioned.fill(
      child: GoogleMap(
        onTap: (LatLng point) {
        print(point.longitude.toString());
          final snackBar = SnackBar(
            content: Text(point.longitude.toString()),
            action: SnackBarAction(
              label: 'Undo',
              onPressed: () {
                // Blah.
              },
            ),
          );
          ScaffoldMessenger.of(context).showSnackBar(snackBar);
          setState(() {
            markers.add(Marker(
              markerId: MarkerId(point.toString()),
              position: point,
              infoWindow: InfoWindow(
                title: 'I am a marker in ${point}',
              ),
              icon: BitmapDescriptor.defaultMarkerWithHue(
                  BitmapDescriptor.hueMagenta),
              anchor: Offset(100, 160),
            ));
          });
        },
        //--
        myLocationEnabled: true,
        zoomControlsEnabled: false,
        markers: markers,
        initialCameraPosition: CameraPosition(
          target: currentLocation,
        ),
        onMapCreated: (GoogleMapController controller) {
          _mapController.complete(controller);
        },
      ),
    ),

 ...

我添加了 aprint和 asnackbar只是为了确保我获得了位置信息,并且工作正常。我在任何地方都没有收到任何错误。我还将地图直接添加到正文中(否Stack),但仍然没有做任何事情。我不确定发生了什么。如果需要,我可以添加更多部分代码。

标签: flutterdartgoogle-maps-flutter

解决方案


推荐阅读