我在地图上有一个浮动操作按钮。当我单击此按钮时,无论我在地图上进行何种探索,它都应该飞到我当前的位置。
我能够在地图上显示我的当前位置,并且我在地图上创建了一个浮动操作按钮来追踪我的当前位置。我已将当前位置存储在我的共享首选项中。现在,我正在寻找 Mapbox Fly-To 功能来移回我当前的位置。
这是我的 pubspec.yaml 文件
这是我的代码:
这是我的 Mapbox 地图屏幕。
我也面临着同样的问题,但在 Geolocator flutter 包的帮助下修复了,它为您提供当前位置的详细信息。根据此详细信息,您可以将地图视图动画化到您经过的位置。 请看下面的例子
onPressed: () async {
var position = await Geolocator.getCurrentPosition(
desiredAccuracy: LocationAccuracy.high);
mapController.animateCamera(
CameraUpdate.newLatLng(
LatLng(
position.latitude,
position.longitude,
),
),
);
},
获取用户的位置相当容易。首先确保在构建 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)
);
}
}
就是这样。它应该将用户带到地图中的当前位置。