【问题标题】:How to Set Zoom Level For google_maps_flutter如何为 google_maps_flutter 设置缩放级别
【发布时间】:2021-11-27 04:17:18
【问题描述】:

我正在使用 google_maps_flutter 包,并且 myLocationButton 的缩放级别在按下时设置为我的上一个缩放级别。我想在按下 myLocationButton 时重置缩放级别。

这是谷歌地图的代码;

GoogleMap(
                      padding: EdgeInsets.only(bottom: _mapBottomPadding),
                      mapType: MapType.normal,
                      initialCameraPosition: _baseLocation,
                      myLocationButtonEnabled: true,
                      myLocationEnabled: true,
                      
                      zoomControlsEnabled: true,
                      zoomGesturesEnabled: true,
                      // minMaxZoomPreference: const MinMaxZoomPreference(12, 14),
                      polylines: _polylineSet,
                      markers: _markersSet,
                      onMapCreated: (GoogleMapController controller) async {
                        if (!_controller.isCompleted) {
                          //first calling is false
                          //call "completer()"
                          _controller.complete(controller);
                          // setState(() {});
                        } else {
                          //other calling, later is true,
                          //don't call again completer()
                        }
                        // _controller.complete(controller);
                        _googleMapController = controller;

                        // Set Initial Camera Position
                        setCameraPosition(
                            position: locationData.getCurrentAddress.position
                                as Position);
                        setMapBounds();
                        setState(() {});
                      },
                    ),

之前设置相机位置时,缩放停留在最后一个缩放级别,我想在单击 myLocationButton 时将其休息。

setMapBounds();方法调用设置取决于地图边界的缩放并调用下面的代码,当我单击 myLocationButton 时,这可能会导致高缩放级别并且缩放级别在调用后仍然存在。

_googleMapController!
          .animateCamera(CameraUpdate.newLatLngBounds(latLngBounds, 70));

如何在为相机设置动画后重置缩放级别?

【问题讨论】:

    标签: flutter google-maps-flutter


    【解决方案1】:

    如果有帮助,你可以试试这个吗?尝试 setState zoomValue

    double zoomValue=14.0;
    
             LatLng   mapCenter = new LatLng("your latitude", "your longitude");
        
        initialCameraPosition: CameraPosition(
                          target: mapCenter,
                          zoom: zoomValue,
                        ),
    

    【讨论】:

      【解决方案2】:

      试试这个

      GoogleMap(
        zoomGesturesEnabled: true,
        tiltGesturesEnabled: false,
        onCameraMove:(CameraPosition cameraPosition){
           print(cameraPosition.zoom);
        },
      

      【讨论】:

        猜你喜欢
        • 2011-05-07
        • 2023-03-20
        • 2017-02-18
        • 1970-01-01
        • 2023-02-15
        • 1970-01-01
        • 2017-08-27
        • 1970-01-01
        相关资源
        最近更新 更多