我做了一个出租车预订项目,该项目使用google maps api定位出租车,接送地点。
问题是当我请求乘车时出现以下错误:
This API project is not authorized to use this API
请注意,我已经启用了所有google map api服务,然后重新生成密钥,问题仍然存在。
如何解决这个问题?
答案 0 :(得分:1)
您需要在google Developer控制台中启用所需的API:https://console.developers.google.com/
在左上角选择您的项目,然后在仪表板中单击“启用API和服务”按钮。
请注意,您可能需要根据需要启用1个以上的API(方向,地理位置,地理编码等)。
答案 1 :(得分:0)
如果您认为已启用所有功能,则可能会错过像这样更改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
标签下
答案 2 :(得分:0)
我找到了答案,
问题出在我这一行的代码中:
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的值由来自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);
}
答案 3 :(得分:0)
要解决此问题,如果您点击折线Api:
需要启用API: