【问题标题】:how to get user current position as initial location in flutter google maps如何在颤动的谷歌地图中获取用户当前位置作为初始位置
【发布时间】:2020-08-27 17:53:00
【问题描述】:

我试图将我的当前位置作为我在谷歌地图中的初始位置颤动.. 但我总是收到这样的错误...initialCameraPosition !=null is not true 到目前为止,我已经尝试使用异步等待来获取我的当前位置。 . 这是代码

static LatLng _initialPosition;

@override
  void initState() {
    _getLocation();
    super.initState();
  }
void _getLocation() async {
    LocationData currentLocation;
    currentLocation = await location.getLocation();
    setState(() {
      _initialPosition =
          LatLng(currentLocation.latitude, currentLocation.longitude);
    });
  }

static final CameraPosition initialLocation = CameraPosition(
    target: _initialPosition,
    zoom: 14.4746,
  );

我需要从我的代码中添加什么吗? 这是我的小部件

GoogleMap(
            mapType: MapType.normal,
            initialCameraPosition: initialLocation,
            markers:...,
            circles:...,
            onMapCreated: (GoogleMapController controller) {
              _controller = controller;
            },
          ),

【问题讨论】:

    标签: flutter asynchronous async-await google-maps-flutter


    【解决方案1】:

    _getLocation 是一个异步函数。当您启动 GoogleMap 时,它可能没有填充 _initialPosition。

    给 _initialPosition 一个起始值,然后在 _initialPosition 更新后更新 GoogleMap。

    【讨论】:

      猜你喜欢
      • 2020-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-11
      • 2012-11-26
      • 2014-02-19
      相关资源
      最近更新 更多