public void get_direction(Activity _activity, GoogleMap _googleMap,
LatLng _origin,LatLng _destination,TextView _txt_distanc,TextView _txt_duration,String mode)
{
activity=_activity;
googleMap=_googleMap;
origin=_origin;
destination=_destination;
txt_distanc=_txt_distanc;
txt_duration=_txt_duration;
String o,d,key;
o=origin.latitude+","+origin.longitude;
d=destination.latitude+","+destination.longitude;
key="***";
final String url = "https://maps.googleapis.com/maps/api/directions/json?origin="+o+"&destination="+d+"&key="+key+"&mode="+mode;
final StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.i("onResponse: ",url );
Log.i("onResponse: ",response );
draw_path(response );
get_distans(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.i("onResponse: ",url );
Log.i("VolleyError: ",error.toString() );
}
}
)
{
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> map =new Hashtable<String,String>();
map.put("name", Base64.encodeToString(String.valueOf("").getBytes()
, Base64.DEFAULT));
return map;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(activity);
requestQueue.add(stringRequest);
}
我的代码很少有时间正确路由。但几个小时后,它只会路由,路由预先路由,否则会显示以下错误:
{“error_message”:“此API项目无权使用此项目 API。“,”routes“:[],”status“:”REQUEST_DENIED“}
答案 0 :(得分:0)
您提供给网址的API密钥
https://maps.googleapis.com/maps/api/directions/json?origin="+o+"&destination="+d+"&key="+key+"&mode="+mode
尚未启用以使用Google的Navigation API。按照此link启用它。
答案 1 :(得分:0)
我希望您已经找到了解决方案,但作为访问此网站的任何人的参考,我遇到了同样的错误,我在 GCP 中的项目下启用了 Google Directions API 并将其设置为结算帐户并解决了。
>