Google Direction API не может найти мой ключ API - PullRequest
0 голосов
/ 18 апреля 2020

Я занимаюсь разработкой приложения android, в котором клиент запрашивает работника для получения посылки, поэтому я использую библиотеку направлений Google, чтобы показать маршруты между клиентом и работником, но API направления продолжает выдавать сообщение о том, что необходимо использовать ключ API для отправлять запросы на облачную платформу Google, я уже создал проект в облачной консоли Google и сгенерировал свой ключ. Вот что я сделал; Сначала я начал свой проект без платежной учетной записи, затем в процессе моего проекта мне было необходимо создать платежную учетную запись, чтобы сделать запрос направления, поэтому я связал свой проект с тем, что я сделал; я добавил свой ключ API для манифеста. Я уже включил API мест и API направления в части направления, которую я использую библиотеку направлений Google, в этот раз я добавил ее в приложение build-gradle

compile 'com.github.jd -alexander: library: 1.1.0 '

, и вот пример кода в моей деятельности для запроса направления, так как я использую указанную выше библиотеку, я не знаю, так ли это, потому что я создал проект, а затем выставил счет, в чем может быть проблема? Даже API мест не работает должным образом

private void getRouteToMarker(LatLng customerpickuplocation) {
Routing routing = new Routing.Builder()
            .travelMode(AbstractRouting.TravelMode.DRIVING)
            .withListener(this)
            .alternativeRoutes(false)
            .waypoints(new LatLng(lat, lng), customerpickuplocation)
            .build();
    routing.execute();
}
@Override
public void onRoutingFailure(RouteException e) {
    if (e != null) {
        Toast.makeText(this, "Error: " + e.getMessage(), Toast.LENGTH_LONG).show();
    } else {
        Toast.makeText(this, "Something went wrong, Try again", Toast.LENGTH_SHORT).show();
    }
}
@Override
public void onRoutingSuccess(ArrayList<Route> route, int shortestRouteIndex) {
    if (polylines.size() > 0) {
        for (Polyline poly : polylines) {
            poly.remove();
        }
    }

    polylines = new ArrayList<>();
    //add route(s) to the map.
    for (int i = 0; i < route.size(); i++) {

        //In case of more than 5 alternative routes
        int colorIndex = i % COLORS.length;

        PolylineOptions polyOptions = new PolylineOptions();
        polyOptions.color(getResources().getColor(COLORS[colorIndex]));
        polyOptions.width(10 + i * 3);
        polyOptions.addAll(route.get(i).getPoints());
        Polyline polyline = mMap.addPolyline(polyOptions);
        polylines.add(polyline);
        Toast.makeText(getApplicationContext(), "Route " + (i + 1) + ": distance - " + route.get(i).getDistanceValue() + ": duration - " + route.get(i).getDurationValue(), Toast.LENGTH_SHORT).show();
    }
}

1 Ответ

0 голосов
/ 19 апреля 2020

Я нашел решение, но не является хорошей мерой безопасности, добавив ключ в метод getRouteToMarker ()

private void getRouteToMarker(LatLng customerpickuplocation) {
    Routing routing = new Routing.Builder()
                .travelMode(AbstractRouting.TravelMode.DRIVING)
                .withListener(this)
                .alternativeRoutes(false)
                .waypoints(new LatLng(lat, lng), customerpickuplocation) 
                .key("your api key")
                .build();
        routing.execute();

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...