Я создал ключ API и внедрил его в свой проект, но при запуске приложения получаю отклоненный запрос - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь узнать о создании приложений, использующих 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"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...