Flutter 如何在颤振图上获得标记纬度和经度?
我正在使用google\u maps\u Flatter软件包来显示地图,并且我放置了一个标记,以便用户可以选择一个位置(而不是用户位置或地图上的任何位置)。Flutter 如何在颤振图上获得标记纬度和经度?,flutter,google-maps-api-3,google-maps-markers,marker,Flutter,Google Maps Api 3,Google Maps Markers,Marker,我正在使用google\u maps\u Flatter软件包来显示地图,并且我放置了一个标记,以便用户可以选择一个位置(而不是用户位置或地图上的任何位置)。 现在用户可以将标记拖动到他想要的位置, 我的问题是 用户拖动标记后,我可以获得标记的纬度和经度吗 class\u BodyState扩展状态{ MapType MapType=MapType.normal; Completer _controller=Completer(); 定位服务(定位服务);; 位置数据_位置数据; 摄像位置_摄
现在用户可以将标记拖动到他想要的位置, 我的问题是 用户拖动标记后,我可以获得标记的纬度和经度吗
class\u BodyState扩展状态{
MapType MapType=MapType.normal;
Completer _controller=Completer();
定位服务(定位服务);;
位置数据_位置数据;
摄像位置_摄像位置;
设置所有地图标记;
标记用户选择器;
@凌驾
小部件构建(构建上下文){
_locationServices=Provider.of(上下文);
回归未来建设者(
未来:_locationServices.getLocation()。然后((LocationData值)=>_LocationData=value),
生成器:(上下文,快照){
如果(_locationData==null){
返回中心(子项:CircularProgressIndicator());
}否则{
_cameraPosition=cameraPosition(目标:LatLng(_locationData.latitude,_locationData.longitude),缩放:19);
setupMarkers();//这将设置标记的Lat和Long
返回安全区(
子:堆栈(
儿童:[
谷歌地图(
onMapCreated:(谷歌地图控制器){
_控制器。完成(控制器);
},
initialCameraPosition:\u cameraPosition,
mapType:mapType,
符合条件:错误,
ZoomControl启用:false,
标记:allMapMarkers,
),
也许这能帮到你:嗨,伙计,真的帮了我的忙,看来我用错了标记,你知道有没有办法让用户在地图上选择位置并获得Lat和对该位置的渴望?@alecsam”选择“怎么做?onDragEnd
(标记
)/onCameraMove
(谷歌地图
)对您没有帮助?@ABCD“选择位置”,您的意思是希望用户在用户单击或轻触地图的位置添加标记吗?@alecsam它工作正常,我得到了我想要的,但我感到困惑的是,当我使用onDragEnd时,标记会立即向上移动一点而不拖动它。再次感谢您的帮助:)也许这能帮到你:嗨,伙计,真的帮到我了,看来我用错了标记,你知道有没有什么方法可以让用户在地图上选择位置并获得Lat和对该位置的渴望?@alecsam“选择”how?onDragEnd
(标记
)/onCameraMove
(谷歌地图
)对您没有帮助?@ABCD“选择位置”,您的意思是希望用户在用户单击或轻触地图的位置添加标记吗?@alecsam它工作正常,我得到了我想要的,但我感到困惑的是,当我使用onDragEnd时,标记会立即向上移动一点而不拖动它。再次感谢您的帮助:)
class _BodyState extends State<Body> {
MapType mapType = MapType.normal;
Completer<GoogleMapController> _controller = Completer();
LocationServices _locationServices;
LocationData _locationData;
CameraPosition _cameraPosition;
Set<Marker> allMapMarkers;
Marker userPicker;
@override
Widget build(BuildContext context) {
_locationServices=Provider.of<LocationServices>(context);
return FutureBuilder(
future: _locationServices.getLocation().then((LocationData value) => _locationData=value),
builder:(context,snapshot){
if(_locationData==null){
return Center(child: CircularProgressIndicator());
}else{
_cameraPosition=CameraPosition(target:LatLng(_locationData.latitude,_locationData.longitude),zoom: 19);
setupMarkers(); // this set the Lat and Long for marker
return SafeArea(
child: Stack(
children: [
GoogleMap(
onMapCreated: (GoogleMapController controller) {
_controller.complete(controller);
},
initialCameraPosition: _cameraPosition,
mapType: mapType,
compassEnabled: false,
zoomControlsEnabled: false,
markers: allMapMarkers,
),