Flutter:如何将 mylocation 按钮放在 Google Maps 上的不同位置?

Posted

技术标签:

【中文标题】Flutter:如何将 mylocation 按钮放在 Google Maps 上的不同位置?【英文标题】:Flutter: How to place the mylocation button on Google Maps at different positions? 【发布时间】:2020-05-08 07:17:51 【问题描述】:

我使用的是 Google 地图,默认情况下,myLocation 按钮显示在右上角。我想要它在右下角。 我似乎在 GoogleMap 小部件中没有任何属性

GoogleMap(
          myLocationEnabled: true,
          myLocationButtonEnabled: true,

          initialCameraPosition: CameraPosition(
            target: _currentLocation,
            zoom: 11.0,
          ),
          onMapCreated: _onMapCreated,
        ),

【问题讨论】:

【参考方案1】:

尝试使用 FloationgButton

GoogleMap(
        mapType: MapType.hybrid,
        initialCameraPosition: _kGooglePlex,
        onMapCreated: (GoogleMapController controller) 
          _controller.complete(controller);
        ,
        myLocationEnabled: true,
      ),
      floatingActionButton: FloatingActionButton.extended(
        onPressed: _currentLocation,
        label: Text('My Location'),
        icon: Icon(Icons.location_on),
      ),
    );
  

也用当前位置设置

void _currentLocation() async 
   final GoogleMapController controller = await _controller.future;
   LocationData currentLocation;
   var location = new Location();
   try 
     currentLocation = await location.getLocation();
      on Exception 
       currentLocation = null;
       

    controller.animateCamera(CameraUpdate.newCameraPosition(
      CameraPosition(
        bearing: 0,
        target: LatLng(currentLocation.latitude, currentLocation.longitude),
        zoom: 17.0,
      ),
    ));
  

【讨论】:

我使用了您代码中的 controller.animateCamera 来适应我的代码,并且效果很好。干杯!它提供了更多的控制。但与此同时,奇怪的是,我们没有使用 GoogleMap 小部件本身进行开箱即用的控制。

以上是关于Flutter:如何将 mylocation 按钮放在 Google Maps 上的不同位置?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Google地图上自定义myLocationEnabled按钮?

如何将 http://localhost:9000 配置为 http:/mylocal.loc

如何在启用 MyLocation 的情况下使用 moveCamera 时忽略 GPS 位置更改

Android Google Maps v2 - 为 myLocation 设置缩放级别

如何重新定位或移动 Google Maps SDK 上的当前位置按钮?

如何将用户的TextFormField输入传递给flutter中不同类的按钮