Roads API muestra el límite de velocidad publicado para una ruta determinada segmento. En el caso de tramos de ruta con límites de velocidad variables, la configuración límite de velocidad para el segmento.
La exactitud de los datos de límites de velocidad que devuelve Roads API no se puede garantizar. Los datos sobre los límites de velocidad proporcionados no son en tiempo real y pueden estimado, impreciso, incompleto o desactualizado. Consulta los detalles de cobertura para ver las regiones en las que están disponibles los datos sobre límites de velocidad.
Solicitudes
Una solicitud de límites de velocidad se debe enviar a través de HTTPS y toma la siguiente forma:
https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEY
Uso de parámetros
Parámetros obligatorios
- Un parámetro
path
oplaceId
.path
: Es una lista de hasta 100 pares de coordenadas de latitud y longitud que representan una ruta. Los valores de latitud y longitud deben estar separados por comas. Los pares de latitud y longitud deben estar separados por el carácter de barra vertical: “|”. Cuando proporcionas el parámetropath
, la API primero ajusta la ruta de acceso al más probable que recorrió un vehículo (como lo hace parasnapToRoads
), luego determina el límite de velocidad para el segmento de ruta relevante. Si no quieres que la API se ajuste a la ruta, puedes debe pasar un parámetroplaceId
como se explica a continuación. El siguiente ejemplo muestra el parámetropath
con tres pares de latitud y longitud:path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796
placeId
: Son los IDs de lugar que representan uno o más tramos de ruta. Asegúrate de que cada ID de lugar haga referencia a un tramo de ruta y no a un tipo diferente de lugar. Puedes pasar hasta 100 IDs de lugar con cada uno de ellos. para cada solicitud. La API no realiza ajustes de rutas en los IDs de lugar proporcionados. En la respuesta, se incluye un límite de velocidad para cada ID de lugar de la solicitud. Puedes enviar una solicitud desnapToRoads
onearestRoads
para buscar los IDs de lugar relevantes y, luego, proporcionarlos como entrada para elspeedLimits
. En el siguiente ejemplo, se muestra el ParámetroplaceId
con dos IDs de lugar:placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
key
: Es la clave de API de tu aplicación. Tu la aplicación debe identificarse cada vez que envíe una solicitud al Roads API incluyendo una clave de API con cada solicitud. Obtén más información para obtener una clave.
Parámetros opcionales
units
: Indica si los límites de velocidad se deben devolver en kilómetros o millas por hora. Se puede configurar comoKPH
oMPH
. La configuración predeterminada esKPH
.
Respuestas
Los siguientes elementos pueden estar presentes en una respuesta de speedLimits
:
speedLimits
: Indica un array de metadatos de rutas. Cada elemento consta de las siguientes campos:placeId
: Es un identificador único para un lugar. Se muestran todos los IDs de lugar Roads API corresponderán a tramos de ruta.speedLimit
: Indica el límite de velocidad para ese tramo de ruta.units
: MuestraKPH
oMPH
.
snappedPoints
: Es un array de puntos ajustados. Este array está presente solo si la solicitud contenía un parámetropath
. Cada punto consta de los siguientes campos:location
: Contiene un valor delatitude
ylongitude
.originalIndex
: Es un número entero que indica el valor correspondiente. en la solicitud original. Cada valor en la solicitud debe asignarse a una ajustado en la respuesta. Estos valores están indexados desde0
, por lo que un punto con unoriginalIndex
de4
será el valor ajustado del 5.o la latitud y la longitud que se pasan al parámetropath
.placeId
: Es un identificador único para un lugar. Se muestran todos los IDs de lugar Roads API corresponderán a tramos de ruta.placeId
se puede pasar en una solicitud de límites de velocidad para determinar la límite de velocidad en ese tramo de ruta.
warning_message
: Es una cadena que contiene una advertencia visible para el usuario.
Ejemplo de solicitud con una ruta de acceso
Con esta solicitud, se obtiene el límite de velocidad para cada tramo de ruta más cercano al pares de latitud y longitud especificados en una ruta que cruza el Vasco da Gama en Lisboa, Portugal.
Solicitud
https://roads.googleapis.com/v1/speedLimits?path=38.75807927603043,-9.03741754643809|38.6896537,-9.1770515|41.1399289,-8.6094075&key=YOUR_API_KEY
Respuesta
{ speedLimits: [ { placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE", speedLimit: 105, units: "KPH" }, { placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU", speedLimit: 70, units: "KPH" }, { placeId: "ChIJJ4vQRudkJA0RpednU70A-5M", speedLimit: 55, units: "KPH" } ], snappedPoints: [ { location: { latitude: 38.75807927603043, longitude: -9.037417546438084 }, originalIndex: 0, placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE" }, { location: { latitude: 38.689653701836896, longitude: -9.177051486847693 }, originalIndex: 1, placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU" }, { location: { latitude: 41.13993011767777, longitude: -8.609400794783655 }, originalIndex: 2, placeId: "ChIJJ4vQRudkJA0RpednU70A-5M" } ], warningMessage: "Input path is too sparse. You should provide a path where consecutive points are closer to each other. Refer to the 'path' parameter in Google Roads API documentation." }
Observa el mensaje de advertencia sobre la dispersión de puntos en la respuesta anterior. Si
solicitan límites de velocidad para los tramos de ruta más cercanos en puntos arbitrarios
debes llamar a speedLimits
con los IDs de lugar recuperados de
nearestRoads
en su lugar.
Ejemplo de solicitud con IDs de lugar
En lugar de usar pares de latitud y longitud, puedes pasar los IDs de lugar de las
tramos de ruta. Te recomendamos que obtengas los IDs de lugar para los tramos de ruta mediante
Solicitudes snapToRoads
o nearestRoads
. Cuando pasas los IDs de lugar, la API
muestra el límite de velocidad para el tramo de ruta representado por cada ID de lugar. El
La API no aplica ajustes de rutas a los IDs de lugar proporcionados.
En el siguiente ejemplo, se solicitan los límites de velocidad para algunos de los tramos de ruta. que cruzan el puente Vasco da Gama en Lisboa, Portugal.
Solicitud
https://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEY
Respuesta
{ "speedLimits": [ { placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE", speedLimit: 105, units: "KPH" }, { placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU", speedLimit: 70, units: "KPH" }, { placeId: "ChIJJ4vQRudkJA0RpednU70A-5M", speedLimit: 55, units: "KPH" } ] }
Recomendaciones de uso
Para minimizar el volumen de llamadas al servicio de límite de velocidad, te recomendamos muestrear las ubicaciones de sus recursos en intervalos de 5 a 15 minutos (la depende de la velocidad a la que viaja un recurso). Si un recurso se estacionaria, una sola muestra de ubicación es suficiente (no es necesario hacer múltiples llamadas).
Para minimizar la latencia general, recomendamos llamar al servicio Speed Limit una vez que hayas acumulado algunos datos, en lugar de llamar a la API cada vez que se reciba la ubicación de un recurso móvil.
¿Por qué faltan algunos o todos los límites de velocidad?
La causa más común por la que falta un speedLimits
es solicitar el límite de velocidad.
de un lugar que no es un tramo de ruta.
El ejemplo anterior utiliza el puente Vasco da Gama para ilustrar conceptos.
el puente sostiene la carretera E90 que cruza el río Tejo. El puente
tiene un ID de lugar: ChIJUzt97ZEwGQ0RM1JzQfqoDtU. El primer tramo de ruta
en la respuesta anterior es parte de la ruta E90 y tiene un ID de lugar de
CHIJX12duJAwGQ0Ra0d4Oi4jOGE En la solicitud de ejemplo, si reemplazas la ruta
el ID de lugar del puente y, en la respuesta, solo habrá
dos límites de velocidad en el array speedLimits
porque el ID de lugar del puente
no se refiere a un tramo de ruta individual. Además, si ninguno de los
los IDs de lugar son para tramos de ruta, entonces la respuesta no contendrá
límites de velocidad.
Cuando realices solicitudes de límite de velocidad con los IDs de lugar, asegúrate de que cada uno
hace referencia a un tramo de ruta y no a un tipo diferente de lugar. IDs de lugar de
La mejor manera de recuperar tramos de ruta individuales es mediante snapToRoads
o nearestRoads
, que pueden mostrar varios IDs de lugar de
una sola llamada.