我如何获得经纬度标记然后存储在 firestore - flutter
How I can get lat and long of marker then store in 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 :
但是当我 运行 这段代码时,它存储了我输入代码的第一个坐标
移动标记并按下保存按钮后,它不会存储标记的新坐标
您只需在 onCameraMove
回调中将 latLng
变量更新为新的 LatLng
值。
添加此行 latLng = point.target
,您的 onCameraMove
将是:
onCameraMove: (point){
setState(() {
markers.add(Marker(markerId: markerId,position: point.target)
latLng = point.target;
);
);
我想获取此代码中标记的经纬度,以便将此位置存储在 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 :
但是当我 运行 这段代码时,它存储了我输入代码的第一个坐标 移动标记并按下保存按钮后,它不会存储标记的新坐标
您只需在 onCameraMove
回调中将 latLng
变量更新为新的 LatLng
值。
添加此行 latLng = point.target
,您的 onCameraMove
将是:
onCameraMove: (point){
setState(() {
markers.add(Marker(markerId: markerId,position: point.target)
latLng = point.target;
);
);