我如何获得标记的纬度和长度,然后存储在 Firestore 中 - flutter

我想获取此代码中标记的纬度和经度,以便将此位置存储在 firebase 中

body: GoogleMap(
       zoomControlsEnabled: false,initialCameraPosition: CameraPosition(target: latLng,zoom: 14.34),markers: markers,//  onTap: _handletap,onmapCreated: (GoogleMapController controller) {
           _controller.complete(controller);
         },onCameraMove: (point){
         setState(() {
           markers.add(Marker(markerId: markerId,position: point.target)
           );
         });
         
       },),

在获得标记的新位置的经纬度后,我想在 firestore 中存储新位置

这是我的代码

Completer<GoogleMapController> _controller = Completer();
 final markers = Set<Marker>();
 MarkerId markerId = MarkerId('parking');
 LatLng latLng = LatLng(32.5259483,35.8506622);

TextButton(onpressed: (){
                   FirebaseFirestore.instance.collection('parking_go_loc').add({
                         'name':'${name}','email':'${email}','location' : GeoPoint(latLng.latitude,latLng.longitude),});
                        Navigator.pushReplacement(context,MaterialPageRoute(builder: (context)=> LoginWoner()));
                 }

我的包裹

google_maps_flutter: 
 cloud_firestore: ^2.4.0
 location: ^4.2.0
 firebase_core :

但是当我运行这段代码时,它会存储我在代码中输入的第一个坐标 移动标记并按下保存按钮后,它不会存储标记的新坐标

yanyantianlong 回答:我如何获得标记的纬度和长度,然后存储在 Firestore 中 - flutter

您只需要在 latLng 回调中将 LatLng 变量更新为新的 onCameraMove 值。

添加此行 latLng = point.target,您的 onCameraMove 将是:

onCameraMove: (point){
  setState(() {
    markers.add(Marker(markerId: markerId,position: point.target)
    latLng = point.target;
  );
);
本文链接:https://www.f2er.com/5675.html

大家都在问