void AddItems(QueryAutocomplete autocomplete) { foreach (var p in autocomplete.predictions) { DropdownItem item = Instantiate(itemTemplate, dropdownHolder).AddComponent <DropdownItem>(); item.button = item.GetComponentInChildren <Button>(); item.button.onClick.AddListener(() => SelectAutocomplete(item.index)); item.main_text = item.transform.Find("Main").GetComponent <Text>(); item.secondary_text = item.transform.Find("Secondary").GetComponent <Text>(); item.main_text.text = p.structured_formatting.main_text; item.secondary_text.text = p.structured_formatting.secondary_text; item.index = items.Count; item.gameObject.SetActive(true); item.name = "Item " + items.Count; items.Add(item); } }
IEnumerator AutocompleteCoroutine(string value) { yield return(new WaitForSecondsRealtime(.5f)); if (value != "") { string url = string.Format(QueryAutocomplete.URL + "&location={1}&radius={2}", WWW.EscapeURL(value), MapCamera.Instance.GetCameraCoords().ToString(), MapCamera.Instance.GetRadius()); WWW www = new WWW(PHPProxy.Escape(url)); yield return(www); if (www.error != null) { Debug.Log(www.error); yield break; } result = JsonUtility.FromJson <QueryAutocomplete>(www.text); if (result.status != "OK") { Debug.Log(result.error_message); yield break; } } else { result = null; } ClearDropdown(); if (result != null) { AddItems(result); } if (isSearchSelected) { ShowDropdown(); } input.MoveTextEnd(false); coroutine = null; }