LatLng
使用google_maps_flutter
插件时如何获取用户的当前位置?
我希望有类似的东西:
GoogleMap(
onLocationChanged: (latLng) {
// Something like this callback ...
}
)
PS:我不想使用任何其他插件。
LatLng
使用google_maps_flutter
插件时如何获取用户的当前位置?
我希望有类似的东西:
GoogleMap(
onLocationChanged: (latLng) {
// Something like this callback ...
}
)
PS:我不想使用任何其他插件。
Flutter 是一个允许您轻松创建 UI 的框架。但在这项技术背后实际上我们没有任何原生功能。为了让这些功能更加灵活,我们有“方法通道”或“Dart:FFI”。
如果你看一下插件的源代码,它会带来原生功能,它们大多使用“方法通道”。
Google Maps 插件允许您使用 google maps api,但是如果您想使用或获取客户端位置,您必须有一些本地代码。
一些 3rd 方应用程序已经为您提供了此功能,但如果您想自己开发它,您必须为 Android 和 iOS 编写自己的代码。然后你需要将它与颤振联系起来。为此,您需要使用方法 channel。
也许你需要的是来自 Flutter dev的location包。
有了它,您可以只监听位置变化,并可能更新您当前的位置变量。
就像是:
location.onLocationChanged().listen((LocationData newLoc) {
currentLocation = newLoc;
});
无法从 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))