我做了一个出租车预订项目,使用谷歌地图api定位出租车,皮卡和降落地点。
问题是,当我请求搭车时,会发生以下错误:
This API project is not authorized to use this API
请注意,我已经启用了所有google服务,然后重新生成密钥,问题仍然存在。
如何解决这个问题?
发布于 2018-09-28 10:35:41
我找到了答案
问题在我的代码中,在这一行:
public void requestDirection() {
snackbar = Snackbar.make(view, getString(R.string.fare_calculating), Snackbar.LENGTH_INDEFINITE);
snackbar.show();
GoogleDirection.withServerKey(getString(R.string.google_api_key))
.from(origin)
.to(destination)
.transportMode(TransportMode.DRIVING)
.execute(this);
confirm.setEnabled(false);
}
R.string.google_api_key's
值由strings.xml
的另一个密钥提供。现在,我给出了withServerKey的直接值,直到我发现了strings.xml.
的问题。
public void requestDirection() {
snackbar = Snackbar.make(view, getString(R.string.fare_calculating), Snackbar.LENGTH_INDEFINITE);
snackbar.show();
GoogleDirection.withServerKey("[api key]")//getString(R.string.google_api_key))
.from(origin)
.to(destination)
.transportMode(TransportMode.DRIVING)
.execute(this);
confirm.setEnabled(false);
}
发布于 2018-09-27 06:57:37
您需要在google控制台中启用所需的API:https://console.developers.google.com/
在左上角选择您的项目,然后单击仪表板中的“启用API和服务”按钮。
请注意,您可能需要根据您的需求启用多个API (方向、地理定位、地理编码等)。
发布于 2018-09-27 07:32:24
如果您认为已经启用了所有功能,那么您可能会忽略更改manifest.xml
文件如下:
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
在application
标签下添加这些标签
https://stackoverflow.com/questions/52530929
复制相似问题