如何在google_maps_flutter中获取当前的纬度和经度?



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

我希望有这样的东西:

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

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

Flutter是一个允许您轻松创建UI的框架。但在这项技术背后,实际上我们没有任何原生功能。为了使这些功能发挥作用,我们有";方法通道";或";Dart:FFI";。

如果你看一下插件的源代码,它会让本机函数颤动,它们大多使用";方法通道";。

谷歌地图插件允许您使用谷歌地图api,但如果您想使用或获取客户端位置,您必须有一些本地代码。

一些第三方应用程序已经为你提供了这一功能,但如果你想为自己开发它,你必须为Android编写自己的代码;iOS。然后你需要把它和颤动联系起来。要做到这一点,你需要使用方法通道。

没有办法从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))

也许您需要的是Flutter dev.的定位包

这样你就可以监听位置的变化,也许还可以更新你当前的位置变量。

类似于:

location.onLocationChanged().listen((LocationData newLoc) {
currentLocation = newLoc;
});

相关内容

  • 没有找到相关文章

最新更新