Я хочу изменить маркер, когда пользователь выбирает место. когда я установил LatLng жестко, все нормально, но когда я пытаюсь изменить LatLng Программно, ошибка показывает необработанное исключение: недопустимый аргумент (ы): широта должна быть между -90 и 90 градусами, но была -119.0.
Я пытаюсь это пожалуйста, проверьте мой код и помогите мне. Вот мой код ---
LatLng latLng =new LatLng(43.761539, -123.1369);
final menuButton = new PopupMenuButton<int>(
onSelected: (int i) {},
itemBuilder: (BuildContext ctx) {},
child: new Icon(
Icons.dashboard,
),
);
final _startPointController = TextEditingController();
Set<Marker> markers = Set();
@override
Widget build(BuildContext context) {
return Scaffold(
drawer: Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: [
DrawerHeader(
child: Text("Header"),
),
ListTile(
title: Text("Home"),
)
],
),
),
appBar: AppBar(
centerTitle: true,
title: Text('Real State'),
backgroundColor: Colors.red[700],
actions: <Widget>[
menuButton,
],
),
body: Stack(
children: <Widget>[
FlutterMap(
options: new MapOptions(
center: latLng,
zoom: 13.0,
),
layers: [
new TileLayerOptions(
urlTemplate: "https://api.tiles.mapbox.com/v4/"
"{id}/{z}/{x}/{y}@2x.png?access_token={accessToken}",
additionalOptions: {
'accessToken': 'pk.eyJ1Ijoic2FraWJ1bHJhc2VsIiwiYSI6ImNrODJrdWNueDBrd2Mzbm13Z2RtdGFkcHEifQ.gayvG_4Qk5uUDMaHZcyTzw',
'id': 'mapbox.streets',
},
),
new MarkerLayerOptions(
markers: [
new Marker(
width: 80.0,
height: 80.0,
point: latLng,
builder: (ctx) =>
new Container(
child: IconButton(
icon: Icon(Icons.location_on),
color: Colors.blue,
iconSize: 45.0,
onPressed: () {
print('Marker tapped');
},
),
),
),
],
),
],
),
Positioned(
top: 20.0,
right: 15.0,
left: 15.0,
child: Container(
height: 50.0,
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(3.0),
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colors.grey,
offset: Offset(1.0, 5.0),
blurRadius: 10,
spreadRadius: 3)
],
),
child: CustomTextField(
hintText: "Select starting point",
textController: _startPointController,
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => MapBoxAutoCompleteWidget(
apiKey: Tokens.MAPBOX_ACCESS_TOKEN,
hint: "Select starting point",
onSelect: (place) {
_startPointController.text = place.placeName;
setState(() {
latLng=new LatLng(place.geometry.coordinates.first,place.geometry.coordinates.last);
});
// markers.add(
// Marker(
// width: 80.0,
// height: 80.0,
// point: LatLng(place.geometry.coordinates.first,place.geometry.coordinates.last)
// )
// );
},
limit: 10,
country: 'CA',
),),);},
enabled: true,
),
),
),