2015-04-03 10 views
0

Я пытаюсь подключиться к Google Maps api и получить lant/long of place, но независимо от того, что я пытаюсь получить, я получаю ZERO_RESULTS каждый раз. Например, если я нахожу http://maps.googleapis.com/maps/api/geocode/json?address=Moscow+Tverskaya+18 в браузер, это дает мне правильный результат, но если я пытаюсь отправить ту же строку с помощью WWW-класса из единицы, я получаю нулевые результаты.Геокодирование Google возвращает нулевые результаты, Unity3D

IEnumerator GetGoogleCoords() { 
    var url = "http://maps.googleapis.com/maps/api/geocode/json?"; 
    var qs = ""; 
    // qs += "address=" + savedAddress; 
    qs += "address=Moscow +Tverskaya+18"; 
    var req = new WWW(url + "?" + qs); 
    Debug.Log(url + qs); 
    yield return req; 
    Debug.Log(req.text); 

} 

Я попробовал каждый запрос и в каждом заказе

+1

Вы добавляете дополнительные "?" на 'новый WWW'. Вы проходите http://maps.googleapis.com/maps/api/geocode/json?address=Moscow+Tverskaya+18. В браузере он дает ZERO_RESULTS – Jaxedin

ответ

0

У вас есть дополнительный «?» в вашем URL-адресе, как сказал @Engerlost.

Это сообщение о том, как предотвратить повторение подобных ошибок еще раз.

Лучшей практикой программирования было бы создание полного URL-адреса не в WWW-конструкторе, а в отдельной строке.

var url = "http://maps.googleapis.com/maps/api/geocode/json?"; 
var qs = "address=Moscow +Tverskaya+18"; 
var fullUrl = url + "?" + qs 
var request = new WWW(fullUrl); 

То есть одна строка должна содержать только одно задание. Это значительно упрощает управление кодом. В вашем случае гораздо легче отлаживать и видеть, что есть ошибка при создании полного URL-адреса. Теперь вы можете легко добавить Debug.Log, если вы с подозрением относитесь к окончательному URL-адресу, который входит в WWW в качестве параметра.

Debug.Log("Request url: " + fullUrl); 

И вы легко увидите, что в результате URL-адрес содержит два "?" персонажи.

Смежные вопросы