我做了一个出租车预订项目,使用谷歌地图API来定位出租车,接送地点。
问题是当我叫车时,会出现以下错误:
This API project is not authorized to use this API
请注意,我已经启用了所有谷歌地图 api 服务,然后重新生成密钥,问题仍然存在。
如何解决这个问题?
您需要在谷歌开发者控制台中启用所需的API:https://console.developers.google.com/
在左上角选择您的项目,然后单击仪表板中的"启用 API 和服务"按钮。
请注意,您可能需要根据需要启用 1 个以上的 API(方向、地理定位、地理编码等(。
我找到了答案,
问题出在我的代码中:
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);
}
如果您认为您已经启用了所有功能,那么您可能会错过更改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
标记下添加这些标记
要解决此问题,如果您点击折线 API:
https://console.developers.google.com/google/maps-apis/apis/directions-backend.googleapis.com/metrics?project=light-router-266008
需要启用 API:
- 地理位置接口
- 方向接口