有人可以告诉我如何在颤振中在地图上获取纬度和经度。我需要使用任何插件吗?
我想你的意思是你想在点击谷歌地图小部件上的某个位置时显示纬度/经度?在这种情况下,请查看place_picker
插件。从自述文件中,这听起来像是您需要的。链接: https://pub.dev/packages/place_picker
编辑:如果您只想要地图上任意位置的纬度/经度,您还可以在Google地图构造函数本身中执行以下操作:
GoogleMap(
// all the other arguments
onTap: (latLng) {
print('${latLng.latitude}, ${latLng.longitude}');
}
);
如果你需要一个 Lat 和 lang 以及其他属性,你必须使用place_picker包。此软件包可帮助您从用户选择的位置获取数据。试试这个代码
Widget _dropDownButton() {
return Positioned(
top: 40,
right: 15,
left: 15,
child: Container(
height: 50,
child: TextFormField(
readOnly: true,
enableInteractiveSelection: false,
// will disable paste operation
textInputAction: TextInputAction.next,
onChanged: (location) {
setState(() {
currentAddress = location;
});
},
controller: locationController,
decoration: InputDecoration(
prefixIcon: InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) {
return PlacePicker(
apiKey: kGoogleApiKey,
initialPosition: currentPostion,
useCurrentLocation: true,
selectInitialPosition: true,
usePlaceDetailSearch: true,
onPlacePicked: (result) {
setState(() {
selectedPlace = result;
locationController.text =
selectedPlace.formattedAddress;
controllers.animateCamera(
CameraUpdate.newCameraPosition(
CameraPosition(
target: LatLng(
result.geometry.location.lat,
result.geometry.location.lng),
zoom: 20.0),
),
);
Navigator.of(context).pop();
});
},
);
},
),
);
},
child: Icon(
Icons.add_location,
color: Colors.black,
size: 20,
),
),
hintStyle: TextStyle(
color: Colors.black54,
),
hintText: 'Please choose a Address',
),
),
));
}