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" : "This API project is not authorized to use this API.", "routes" : [], "status" : "REQUEST_DENIED" }
最佳答案
您为 url 提供的 API key https://maps.googleapis.com/maps/api/directions/json?origin="+o+"&destination="+d+"&key="+key+"&mode="+mode
尚未启用使用 Google 的导航 API。关注此 link启用它。
关于android - 使用谷歌地图路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50097146/