-1

LatLng使用google_maps_flutter插件时如何获取用户的当前位置?

我希望有类似的东西:

GoogleMap(
  onLocationChanged: (latLng) {
    // Something like this callback ...
  }
)

PS:我不想使用任何其他插件。

4

3 回答 3

2

Flutter 是一个允许您轻松创建 UI 的框架。但在这项技术背后实际上我们没有任何原生功能。为了让这些功能更加灵活,我们有“方法通道”或“Dart:FFI”。

如果你看一下插件的源代码,它会带来原生功能,它们大多使用“方法通道”。

Google Maps 插件允许您使用 google maps api,但是如果您想使用或获取客户端位置,您必须有一些本地代码。

一些 3rd 方应用程序已经为您提供了此功能,但如果您想自己开发它,您必须为 Android 和 iOS 编写自己的代码。然后你需要将它与颤振联系起来。为此,您需要使用方法 channel

于 2020-12-14T11:59:33.223 回答
0

也许你需要的是来自 Flutter dev的location包。

有了它,您可以只监听位置变化,并可能更新您当前的位置变量。

就像是:

location.onLocationChanged().listen((LocationData newLoc) {
  currentLocation = newLoc;
});
于 2020-12-11T10:19:24.367 回答
0

无法从 google_maps_flutter 插件获取当前位置,但您可以通过以下方式获取显示位置

GoogleMap(
   onCameraMove: (LatLng displayingLocation){
      // do operations here
   }
)

或使用地图控制器

mapController.getLatLng(ScreenCoordinate(
        x: MediaQuery.of(context).size.width, 
        y: MediaQuery.of(context).size.height))
于 2020-12-15T22:18:05.410 回答