Я изо всех сил пытаюсь забрать данные, возвращенные из вызова Geocoding REST ниже (я удалил мои app_id и app_code, поэтому вы не можете запустить URL, как показано ниже):
https://geocoder.api.here.com/6.2/geocode.json?app_id=[MY APP ID] & app_code = [МОЙ APP CODE] & searchtext = chester
Пример ответа можно найти здесь:
https://developer.here.com/documentation/geocoder/topics/quick-start-geocode.html
Я знаю, что он возвращает результаты, ноКажется, я не могу передать результаты в свое приложение C #, я не знаю, правильно ли я строю систему классов или что-то еще я делаю неправильно.Я создал приложение, которое без проблем считывает api местах, но это выглядит как-то иначе.
Вызов возвращается с состоянием OK:
public void GeoCode()
{
// BUILD INITIAL STRING BASED ON PARAMETERS
string url = "https://geocoder.api.here.com/6.2/geocode.json?app_id=gpZ1Ym7rwuXs6Xj1TsD8&app_code=4UXmaGFTe30LttFgOY7iqQ&searchtext=" + tbLoc.text;
// RUN THE ASYNCRONOUS COMMAND (I THINK)
StartCoroutine(GetText(url));
}
IEnumerator GetText(string url)
{
// CREATE WEB REQUEST WITH SPECIFIED URL
UnityWebRequest www = UnityWebRequest.Get(url);
// RETURN RESULTS FROM ASYNC COMMAND
yield return www.SendWebRequest();
// PARSE JSON RESPONSE
RootObject RootObject = JsonUtility.FromJson<RootObject>(www.downloadHandler.text);
// IF 200 (STATUS OKAY) GATHER RESULTS, ELSE RETURN ERROR
if (www.responseCode == 200)
{
BuildArray(RootObject);
}
else
{
Debug.Log("Call Failed With Error: " + www.responseCode.ToString());
}
}
private void BuildArray(RootObject RootObject)
{
print(RootObject.Response.View[0].Result[0].Location.Address.Label);
}
Он пытается запуститьФункция BuildArray, но она возвращает нулевую ссылку.(Я просто использую NextPageInformation в качестве основной опции для тестирования)
Ниже приведена структура классов, которую я построил для работы с JSON:
public class Address
{
public string Label { get; set; }
}
public class Location
{
public Address Address { get; set; }
}
public class Result
{
public Location Location { get; set; }
}
public class View
{
public List<Result> Result { get; set; }
}
public class Response
{
public List<View> View { get; set; }
}
public class RootObject
{
public Response Response { get; set; }
}
Может кто-нибудь помочь?Спасибо