如何在flutter中实现飞至mapbox当前位置

问题描述 投票:0回答:2

我在地图上有一个浮动操作按钮。当我单击此按钮时,无论我在地图上进行何种探索,它都应该飞到我当前的位置。

我能够在地图上显示我的当前位置,并且我在地图上创建了一个浮动操作按钮来追踪我的当前位置。我已将当前位置存储在我的共享首选项中。现在,我正在寻找 Mapbox Fly-To 功能来移回我当前的位置。

这是我的 pubspec.yaml 文件

这是我的代码:

这是我的 Mapbox 地图屏幕。

flutter mapbox
2个回答
0
投票

我也面临着同样的问题,但在 Geolocator flutter 包的帮助下修复了,它为您提供当前位置的详细信息。根据此详细信息,您可以将地图视图动画化到您经过的位置。 请看下面的例子

 onPressed: () async {
    var position = await Geolocator.getCurrentPosition(
        desiredAccuracy: LocationAccuracy.high);
    mapController.animateCamera(
      CameraUpdate.newLatLng(
        LatLng(
          position.latitude,
          position.longitude,
        ),
      ),
    );
  },

0
投票

获取用户的位置相当容易。首先确保在构建 MapboxMap 时在构造函数中传递以下两个属性:

MapboxMap(myLocationEnabled: true, onMapCreated: onMapCreated)

第一个属性为您的地图启用位置池,而另一个属性则通知方法已创建地图并提供控制器供您使用。

void onMapCreated(MapboxMapController controller) {
  _mapController = controller;
}

假设当您想要将用户置于当前位置中心时调用下面的函数:

void centerOnMap() {
  var location = await _mapController?.requestMyLocationLatLng();
  if(location != null) {
    _mapController?.animateCamera(
      CameraUpdate.newLatLng(location)
    );
  }
}

就是这样。它应该将用户带到地图中的当前位置。

© www.soinside.com 2019 - 2024. All rights reserved.