using System; using System.Collections.Generic; namespace ARLocation.MapboxRoutes { using Vendor.SimpleJSON; [Serializable] public class GeocodingFeature { public string text; public string place_name; public float relevance; public Route.Geometry geometry; public static GeocodingFeature Parse(JSONNode n) { var result = new GeocodingFeature{}; result.text = n["text"]; result.place_name = n["place_name"]; result.relevance = n["relevance"].AsFloat; result.geometry = Route.Geometry.Parse(n["geometry"]); return result; } public override string ToString() { return $"GeocodingFeature{{ text = {text}, place_name = {place_name}, relevance = {relevance}, geometry = {geometry} }}"; } } [Serializable] public class GeocodingResponse { public List features = new List(); public static GeocodingResponse Parse(string s) { return Parse(JSON.Parse(s)); } public static GeocodingResponse Parse(JSONNode n) { var result = new GeocodingResponse {}; var features = n["features"].AsArray; foreach (var f in features) { result.features.Add(GeocodingFeature.Parse(f)); } return result; } public override string ToString() { return $"Geocoding {{ features = [{string.Join(", ", features)}] }}"; } } }