Как я могу взять геометрию из своего api в flutter

#flutter

Вопрос:

Как я могу получить геометрические координаты из этого API mongo в flutter? Я могу получить имя, тип, описание, но координаты.

введите описание изображения здесь

 class Padiglioni {  final String id;  final String nome;  final String area;  bool check = false;  Geometry geometry;   Padiglioni( {  required this.area,  required this.id,  required this.nome,  required this.check,  required this.geometry  });   factory Padiglioni.fromJson(Maplt;String, dynamicgt; json) {  return Padiglioni(  id: json['id'] as String,  nome: json['nome'] as String,  area: json['area'] as String,  check: false,  geometry: Geometry.fromJson(json['geometry']),    );  }  }  

Комментарии:

1. Можете ли вы добавить немного ocde, чтобы мы могли вам помочь. поскольку координаты-это список, вы должны использовать индекс для получения значений, например, model. координаты[1][0] получат первое значение из первого списка.

2. Пожалуйста, добавьте свои коды !!

3. я пытаюсь редактировать, но стек говорит мне, что это много кода

Ответ №1:

Это довольно просто, все, что вам нужно сделать, это проанализировать данные json из вашего запроса

у вас есть два варианта

  1. используйте встроенные сериализованные методы json
  2. используйте свои собственные классы моделей дротиков с помощью jsonToDart [https://javiercbk.github.io/json_to_dart/]

итак, все, что вам нужно сделать, это сначала создать класс геометрии, что-то вроде этого

геометрия класса { Список кординат;

 Geometry({this.cordinate});  Geometry.fromJson(Maplt;String, dynamicgt; json) {  if (json['cordinate'] != null) {  cordinate = new Listlt;Listgt;();  json['cordinate'].forEach((v) { cordinate.add(new List.fromJson(v)); });  } }  Maplt;String, dynamicgt; toJson() {  final Maplt;String, dynamicgt; data = new Maplt;String, dynamicgt;();  if (this.cordinate != null) {  data['cordinate'] = this.cordinate.map((v) =gt; v.toJson()).toList(); }  return data; }  

}

класс Кординат {

 Cordinate({});  Cordinate.fromJson(Maplt;String, dynamicgt; json) { }  Maplt;String, dynamicgt; toJson() {  final Maplt;String, dynamicgt; data = new Maplt;String, dynamicgt;();  return data; }  

}

теперь после этого просто передайте свой объект json этой функции, а затем вы можете использовать его везде, где захотите

 Geometry geometry = Geometry.fromJson(jsonResponse['geometry']);  

Комментарии:

1. если возможно изменить ответ Api, то, пожалуйста, сделайте это простой идеей, но да, это возможно и с этим ответом, но немного запутанным и сложным

2. Конструктор «Список» по умолчанию недоступен, если включена защита от нуля. (Документация) Попробуйте использовать литерал списка» List.filled» или «List.generate». у меня есть эта ошибка