我正在尝试连接谷歌地图api并获得大量/长期的地方,但无论我想要获得什么,我每次都会收到ZERO_RESULTS。例如,如果我输入 http://maps.googleapis.com/maps/api/geocode/json?address=Moscow+Tverskaya+18进入浏览器,它给了我正确的结果,但如果我试图通过WWW类从统一发送完全相同的字符串,我得到零结果。
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);
}
我尝试了每个请求和每个订单
答案 0 :(得分:0)
你有一个额外的“?”你的网址是@Engerlost说的。
这篇文章是关于如何防止再次犯同样的错误。
最佳编程实践是在WWW构造函数中构建完整的URL,但是在单独的行中。
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的错误。现在,如果您对作为参数进入WWW的最终URL感到怀疑,您可以轻松添加Debug.Log
。
Debug.Log("Request url: " + fullUrl);
你会很容易看到生成的网址包含两个“?”字符。