使用Google Maps API - 传感器true或false REQUEST_DENIED

时间:2014-02-07 15:41:22

标签: json api google-maps google-maps-api-3

我正在尝试使用我的移动应用程序中的Maps API,方式与使用我的Firefox浏览器类似:

http://maps.googleapis.com/maps/api/geocode/json?address=First Avenue New York Manhattan&sensor=true

不幸的是,我总是收到此错误结果:The 'sensor' parameter specified in the request must be set to either 'true' or 'false'

我尝试了TRUETruetrue ......没办法。

我还尝试按照本指南使用与我的Google帐户关联的API密钥:https://developers.google.com/maps/documentation/javascript/tutorial?hl=it#api_key

事实上,我做了:

http://maps.googleapis.com/maps/api/geocode/json?key={my_key}&address=First Avenue New York Manhattan&sensor=true

所以,最后,我想我的问题与我准备的POST请求有关。 这是我用于我的请求的代码:

request = new CIwHTTP; // The http pointer
const char* c1 = text.getCString(); // This is the string "address=First Avenue New York Manhattan&sensor=true"
int length = strlen(c1);
request->SetRequestHeader("Content-Type", "text/javascript; charset=utf-8"); 
request->Post("http://maps.googleapis.com/maps/api/geocode/json", c1, length, callback, NULL);

在回调中,我得到了我的结果字符串,希望来自Google的JSON字符串告诉我地址​​列表。我对标题不太确定,但我改变了一些没有结果。

我使用Marmalade,所以我的代码完全是C ++。

你可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

Google似乎不喜欢地址字符串中的空格,而且调用应该是GET调用。

这是我的工作代码:

CCString gURL = "http://maps.googleapis.com/maps/api/geocode/json?"; // URL base 
CCString *string_final = CCString::createWithFormat( (
        std::string(gURL.getCString()) + 
        std::string(text.getCString()) /* i.e. "address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false" */
        ).c_str() );  
request->Get(string_final->getCString(),callback, NULL);