Я пытаюсь узнать о создании приложений, использующих Google Maps, но я не понимаю, почему мой запрос отклоняется при попытке нарисовать маршрут между точкой A и точкой B. Мое приложение работает, я вижумаркеры точки a и точки b, но маршрут не прорисован, и я получаю ошибку, описанную в заголовке, когда проверяю журналы.
Итак, прежде всего я создал ключ API и убедился, что онне ограничен в моей консоли API Google.
Итак, в первую очередь мой ключ хранится в res / values / google_maps_api.xml
<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false"><my key here></string>
У меня есть классгде я объявляю параметры как строку и возвращаю полную строку и ключ следующим образом:
String parameters = str_origin + "&" + str_dest + "&" + sensor + "key=" + R.string.google_maps_key;
return "https://maps.googleapis.com/maps/api/directions/" + output + "?" + parameters;
Однако, когда этот URL-адрес используется в следующем методе класса с именем «DrawRoute», я получаю ошибкуописаны в заголовке, и маршруты не отображаются во время выполнения.
private String getJsonRoutePoint(String strUrl) throws IOException {
String data = "";
InputStream iStream = null;
HttpURLConnection urlConnection = null;
try {
URL url = new URL(strUrl);
// Creating an http connection to communicate with url
urlConnection = (HttpURLConnection) url.openConnection();
// Connecting to url
urlConnection.connect();
// Reading data from url
iStream = urlConnection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(iStream));
StringBuffer sb = new StringBuffer();
String line = "";
while ((line = br.readLine()) != null) {
sb.append(line);
}
data = sb.toString();
Log.d("getJsonRoutePoint", data.toString());
br.close();
} catch (Exception e) {
Log.d("Exception", e.toString());
} finally {
iStream.close();
urlConnection.disconnect();
}
return data;
}
logcat trace:
D/getJsonRoutePoint: { "error_message" : "You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please refer to http://g.co/dev/maps-no-account", "routes" : [], "status" : "REQUEST_DENIED"}
D/Background Task data: { "error_message" : "You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please refer to http://g.co/dev/maps-no-account", "routes" : [], "status" : "REQUEST_DENIED"}