繁体   English   中英

Android中的Google Directions API

[英]Google Directions API in Android

在我的Android应用程序中,我使用Directions API来计算汽车到位置A到B的旅行时间。

现在,我正在尝试使用公共交通工具构建新功能,并通过Directions API可以通过添加&mode=transit 完成此操作后,我收到一条错误消息,要求我必须使用API​​密钥。 因此,我使用&key=***将Android应用程序API密钥添加到了代码中。 不幸的是,我的应用程序给出以下响应:

“此IP,站点或移动应用程序无权使用此API密钥。”

在我的Android应用程序API密钥处,正确的指纹在那里。

然后,我认为这是一个HTTP请求,因此我不应该使用“浏览器应用程序的密钥”。 所以我去尝试了一下,但是后来我得到了同样的错误。 而“引荐来源”说:“允许任何引荐来源”。

我的代码:

AsyncHttpClient client = new AsyncHttpClient();
client.get("https://maps.googleapis.com/maps/api/distancematrix/json?origins="+ latlong +"&destinations="+ location +"&key=***&sensor=true&units=metric&language=nl&mode=" + mode, new AsyncHttpResponseHandler() {

    @Override
    public void onStart() {}

    @Override
    public void onSuccess(int statusCode, Header[] headers, byte[] response) {}

    @Override
    public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) {}

}

这是JSON响应:

{
    "destination_addresses" : [],
    "error_message" : "This IP, site or mobile application is not authorized to use this API key.",
    "origin_addresses" : [],
    "rows" : [],
    "status" : "REQUEST_DENIED"
}

那么,我应该使用哪个密钥?如何使它正常工作?

提前致谢!

您可能需要在开发者控制台中启用API:

https://console.developers.google.com/

转到“选择一个项目”,选择您的项目,单击左侧的“ API和身份验证”,然后单击“ API”,然后在Google Maps API列表下,选择正确的一个(在此应为Google Maps Directions API大小写),最后,单击启用API。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM