A veces, cuando trato de usar la CLAVE API de Google MAPS para obtener una URL para dibujar una 'polilínea', recibo un error en mis registros:

"error_message": "El acceso sin llave a Google Maps Platform está en desuso. Utilice una clave API con todas sus llamadas API para evitar la interrupción del servicio. Para obtener más detalles, consulte http://g.co/dev/maps-no-account "," rutas ": []," estado ":" OVER_QUERY_LIMIT "

Tengo esto en mi manifiesto:

<meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="MY_GOOGLE_MAPS_API_KEY" />

Además, esta CLAVE API 'habilitada' en mi CONSOLA API y está restringida a SDK de Android de Google Maps y API de indicaciones. También tengo habilitada la facturación para mi CONSOLA API de Google, pero a veces sigo recibiendo este error.

12
grantespo 16 sep. 2018 a las 12:57

4 respuestas

La mejor respuesta

Desde el 11 de junio de 2018, Google comenzó a aplicar el uso de claves API. El uso sin llave dará como resultado una experiencia degradada o un error como OVER_DAILY_LIMIT y OVER_QUERY_LIMIT.

Fuente: Actualizaciones importantes de la plataforma Google Maps

Poner la clave API en la URL como esta es una buena solución:

String url = "https://maps.googleapis.com/maps/api/directions/"+output+"?"+parameters + "&key=" + MY_API_KEY

Pero asegúrese de que sus restricciones clave estén bien configuradas. Si ha restringido la clave a su aplicación, es posible que no funcione porque la solicitud realizada a través de HTTP está relacionada con su dirección IP. Lo que significa que incluso si ha configurado correctamente su aplicación y manifiesto de Android, puede resultar con un ACCESS_DENIED. Esto puede verificarse cambiando su restricción.

Ejemplo de no restricción para fines de prueba: ingrese la descripción de la imagen aquí

Para obtener más información sobre las claves y restricciones de la API: Guía rápida para obtener una clave

27
probitaille 3 oct. 2018 a las 14:24

Para aquellos que usan biblioteca de direcciones de jd-alexander, no olviden agregue la clave de la API al generador de enrutamiento:

Routing routing = new Routing.Builder()
                .travelMode(/* Travel Mode */)
                .withListener(/* Listener that delivers routing results.*/)
                .waypoints(/*waypoints*/)
                .key(/*api key for quota management*/)
                .build();
    routing.execute();
4
ninbit 23 sep. 2018 a las 10:37

Acabo de agregar el parámetro key en la url. Después de eso, puedo obtener la respuesta de Google Map API.

Ejemplo: https://maps.googleapis.com/maps/api/geocode/json?address=COMPLETE+ADDRESS&sensor=true&key=YOUR_GOOGLE_MAP_API_KEY

-1
TS Guhan 26 oct. 2018 a las 12:15

Si alguien que usa Biblioteca de direcciones de Google de jd-alexander use la clave API de Google como se muestra a continuación código.

Routing routing = new Routing.Builder()
                .key(YOUR_KEY)
                .travelMode(AbstractRouting.TravelMode.DRIVING)
                .withListener(this)
                .alternativeRoutes(false)
                .waypoints(SourceLatLng, DestinationLatLng)
                .build();
        routing.execute();

Si tienes dudas no dudes en dejar un comentario.

1
AG Mohammed 23 sep. 2018 a las 13:53