toJson method

Map<String, dynamic> toJson()

Implementation

Map<String, dynamic> toJson() {
  return {
    "place_id": placeId,
    "licence": licence,
    "osm_type": osmType,
    "osm_id": osmId,
    "lat": lat,
    "lon": lon,
    "place_rank": 30,
    "category": category,
    "type": type,
    "importance": importance,
    "addresstype": addressType,
    "name": name,
    "display_name": displayName,
    "address": address.toJson(),
    "extratags": extratags,
    "namedetails": namedetails,
    if (boundingBox != null)
      "boundingbox": [
        boundingBox!.southWest.latitude,
        boundingBox!.northEast.latitude,
        boundingBox!.southWest.longitude,
        boundingBox!.northEast.longitude
      ],
    "geojson": geojson.when(
      point: (latlng, _) => {
        "type": "Point",
        "coordinates": latlng.toGeoPoint().toList(),
      },
      linestring: (list, _) => {
        "type": "LineString",
        "coordinates": list.map((latlng) => latlng.toGeoPoint()).toList(),
      },
      polygon: (polygon, _) => {
        "type": "Polygon",
        "coordinates": polygon.map((e) => e.toGeoPoint()).toList(),
      },
      multiPolygon: (multiPolygon, _) => {
        "type": "Polygon",
        "coordinates": multiPolygon
            .map((e) => e.map((k) => k.map((l) => l.toGeoPoint())))
            .toList(),
      },
    )
  };
}