Flutter GPS 任务应用

此 Flutter 应用演示了如何使用 Google Maps 插件来显示地图及用户的当前位置,并根据坐标获取城市名称。

代码概述

主代码分为几个组件

MapScreen

  • MapScreen 小部件是一个 StatefulWidget,它显示 Google 地图和用户的城市名称。
  • 它利用 GoogleMapViewModel 加载用户的当前坐标,并使用 geocoding 获取城市名称。
  • UI 由 Google 地图和一个显示用户城市名称的文本字段组成。
  • 地图上标记了用户的位置,点击标记会打开一个对话框显示坐标。

GoogleMapViewModel

  • GoogleMapViewModel 负责与 Google Maps API 交互并获取用户位置。
  • 它使用 geolocator 包来检查和请求位置权限,并获取用户的当前位置。
  • loadCurrentUserCoordinates 函数返回一个 LatLng 对象,包含用户的当前纬度和经度。

GoogleMapWidgetMarkerCoordinatesDialog

  • GoogleMapWidget 是一个无状态小部件,它使用 google_maps_flutter 包显示 Google 地图。
  • 它还处理用户当前位置的标记,点击该标记可以使用 MarkerCoordinatesDialog 小部件在对话框中显示坐标。

main.dart

  • 应用程序的入口点在 main.dart 中,它初始化应用程序并设置 MaterialApp。

入门

  1. 克隆此存储库。
  2. 确保您已安装 Flutter 和 Dart。
  3. 运行 flutter pub get 以安装所需的依赖项。
  4. 使用 flutter run 运行应用程序。

屏幕截图

这是应用程序运行的截图

App Screenshot

笔记

  • 如果您打算在真实设备上使用此应用或将其发布,请务必将您的 Google Maps API 密钥添加到您的 Flutter 项目中。

贡献

欢迎通过打开 issue 或创建 pull request 来为本项目做出贡献。

许可证

本项目根据 MIT 许可证授权 – 更多详情请参阅 LICENSE 文件。

GitHub

查看 Github