Esempio n. 1
0
    /// <summary>
    /// Constructor of OnlineMapsFindPlacesResult.
    /// </summary>
    /// <param name="node">Place node from response</param>
    public OnlineMapsFindPlacesResult(OnlineMapsXML node)
    {
        List <OnlineMapsFindPlacesResultPhoto> photos = new List <OnlineMapsFindPlacesResultPhoto>();
        List <string> types        = new List <string>();
        List <string> weekday_text = new List <string>();

        foreach (OnlineMapsXML n in node)
        {
            if (n.name == "name")
            {
                name = n.Value();
            }
            else if (n.name == "id")
            {
                id = n.Value();
            }
            else if (n.name == "vicinity")
            {
                vicinity = n.Value();
            }
            else if (n.name == "type")
            {
                types.Add(n.Value());
            }
            else if (n.name == "geometry")
            {
                location = OnlineMapsGoogleAPIQuery.GetVector2FromNode(n[0]);
            }
            else if (n.name == "rating")
            {
                rating = n.Value <float>();
            }
            else if (n.name == "icon")
            {
                icon = n.Value();
            }
            else if (n.name == "reference")
            {
                reference = n.Value();
            }
            else if (n.name == "place_id")
            {
                place_id = n.Value();
            }
            else if (n.name == "scope")
            {
                scope = n.Value();
            }
            else if (n.name == "price_level")
            {
                price_level = n.Value <int>();
            }
            else if (n.name == "formatted_address")
            {
                formatted_address = n.Value();
            }
            else if (n.name == "opening_hours")
            {
                open_now = n.Get <string>("open_now") == "true";
                foreach (OnlineMapsXML wdt in n.FindAll("weekday_text"))
                {
                    weekday_text.Add(wdt.Value());
                }
            }
            else if (n.name == "photo")
            {
                photos.Add(new OnlineMapsFindPlacesResultPhoto(n));
            }
            else
            {
                Debug.Log(n.name);
            }
        }

        this.photos       = photos.ToArray();
        this.types        = types.ToArray();
        this.weekday_text = weekday_text.ToArray();
    }
Esempio n. 2
0
    /// <summary>
    /// Constructor of OnlineMapsFindLocationResult.
    /// </summary>
    /// <param name="node">Location node from response</param>
    public OnlineMapsFindLocationResult(OnlineMapsXML node)
    {
        List <OnlineMapsFindLocationResultAddressComponent> address_components = new List <OnlineMapsFindLocationResultAddressComponent>();
        List <string> types = new List <string>();
        List <string> postcode_localities = new List <string>();

        foreach (OnlineMapsXML n in node)
        {
            if (n.name == "type")
            {
                types.Add(n.Value());
            }
            else if (n.name == "place_id")
            {
                place_id = n.Value();
            }
            else if (n.name == "formatted_address")
            {
                formatted_address = n.Value();
            }
            else if (n.name == "address_component")
            {
                address_components.Add(new OnlineMapsFindLocationResultAddressComponent(n));
            }
            else if (n.name == "geometry")
            {
                foreach (OnlineMapsXML gn in n)
                {
                    if (gn.name == "location")
                    {
                        geometry_location = OnlineMapsGoogleAPIQuery.GetVector2FromNode(gn);
                    }
                    else if (gn.name == "location_type")
                    {
                        geometry_location_type = gn.Value();
                    }
                    else if (gn.name == "viewport")
                    {
                        geometry_viewport_northeast = OnlineMapsGoogleAPIQuery.GetVector2FromNode(gn["northeast"]);
                        geometry_viewport_southwest = OnlineMapsGoogleAPIQuery.GetVector2FromNode(gn["southwest"]);
                    }
                    else if (gn.name == "bounds")
                    {
                        geometry_bounds_northeast = OnlineMapsGoogleAPIQuery.GetVector2FromNode(gn["northeast"]);
                        geometry_bounds_southwest = OnlineMapsGoogleAPIQuery.GetVector2FromNode(gn["southwest"]);
                    }
                    else
                    {
                        Debug.Log(n.name);
                    }
                }
            }
            else if (n.name == "partial_match")
            {
                partial_match = n.Value() == "true";
            }
            else
            {
                Debug.Log(n.name);
            }
        }

        this.address_components = address_components.ToArray();
        this.types = types.ToArray();
        this.postcode_localities = postcode_localities.ToArray();
    }