gpt4 book ai didi

google-maps-api-3 - 如何在 flutter 中使用 map_view 查找用户的当前位置?

转载 作者:IT王子 更新时间:2023-10-29 06:32:46 29 4
gpt4 key购买 nike

我想将 initialCameraPosition 设置为指向用户的当前位置,而不是硬编码经度和纬度。

  showMap() {
mapView.show(
new MapOptions(
mapViewType: MapViewType.normal,
showUserLocation: true,
initialCameraPosition: new CameraPosition(
new Location(23.2599, 77.4126), 10.0),
title: "Parking Spaces"),
toolbarActions: [new ToolbarAction("Close", 1)]
);

最佳答案

首先,您可以对要默认显示的位置进行硬编码:

  MapView  mapView = new MapView();
mapView.show(
new MapOptions(
title: 'map title',
showUserLocation: true,
initialCameraPosition: CameraPosition(new Location(35.7050274, 51.364935),11.92)
)
);

然后将一个函数绑定(bind)到 map View ,以便在 gps 找到用户位置时相机位置得到更新:

mapView.onLocationUpdated.lastWhere((position)=>this.onUserLocationUpdated(position,mapView));

方法名称 lastWhere 在用户位置更新时调用一次,如果您想跟踪用户移动,您可以使用 listen
之后你只需要定义一个将相机位置更改为用户当前位置的函数:

onUserLocationUpdated(position,MapView mapview)async {
double zoomLevel = await mapview.zoomLevel;
mapview.setCameraPosition(position.latitude, position.longitude, zoomLevel);
}

在上面的代码中,我们获得了用户缩放级别,因此每次移动都不会改变用户当前的缩放级别。

关于google-maps-api-3 - 如何在 flutter 中使用 map_view 查找用户的当前位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49441918/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com