最近的道路
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Roads API 使用多达 100 个独立的坐标,并返回距离每个点最近的路段。传递的点不必是连续路径的一部分。
如果您处理的是连续的 GPS 点,请使用 Snap to Roads。
请求
向“最近的道路”服务发出的请求必须使用 HTTPS,并且采用以下格式:
https://roads.googleapis.com/v1/nearestRoads?parameters&key=YOUR_API_KEY
Required parameters
points
The points to be snapped. The points parameter accepts a list of
latitude/longitude pairs. Separate latitude and longitude values with
commas. Separate coordinates with the pipe character: "|". For example:
points=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796
.
示例
以下请求会根据指定的坐标列表返回一组路段。
网址
https://roads.googleapis.com/v1/nearestRoads
?points=60.170880%2C24.942795%7C60.170879%2C24.942796%7C60.170877%2C24.942796
&key=YOUR_API_KEY
cURL
curl -L -X GET 'https://roads.googleapis.com/v1/nearestRoads?points=60.170880%2C24.942795%7C60.170879%2C24.942796%7C60.170877%2C24.942796&key=YOUR_API_KEY'
响应
对于每个有效请求,Roads API 都会以请求网址中指示的格式返回响应。
{
"snappedPoints":
[
{
"location":
{ "latitude": 60.170878428876755, "longitude": 24.94269540970182 },
"originalIndex": 0,
"placeId": "ChIJfVFHrM0LkkYRBzUQos_jR5w",
},
{
"location":
{ "latitude": 60.17087741412199, "longitude": 24.942695474405202 },
"originalIndex": 1,
"placeId": "ChIJfVFHrM0LkkYRBzUQos_jR5w",
},
{
"location":
{ "latitude": 60.170875416131736, "longitude": 24.942695601802203 },
"originalIndex": 2,
"placeId": "ChIJfVFHrM0LkkYRBzUQos_jR5w",
},
],
}
响应使用以下架构。
NearestRoadsResponse
Field | Required | Type | Description |
---|
snappedPoints
| optional |
Array<SnappedPoint> |
An array of snapped points. Sometimes containing several snapped
points for the same point with differing placeId or location.
See SnappedPoint for more information.
|
SnappedPoint
Field | Required | Type | Description |
---|
location
| required | LatitudeLongitudeLiteral |
See
LatitudeLongitudeLiteral
for more information.
|
placeId
| required | string |
A unique identifier for a place. All place IDs returned by the Roads
API correspond to road segments.
|
originalIndex
| optional | number |
An integer that indicates the corresponding value in the original
request. Each value in the request should map to a snapped value in
the response. However, if you've set interpolate=true or if you're
using nearest roads, then it's possible that the response will
contain more coordinates than the request. Interpolated values will
not have an originalIndex . These values are indexed
from 0 , so a point with an originalIndex of
4 will be the snapped value of the 5th
latitude/longitude passed to the path parameter. Nearest Roads
points may contain several points for single coordinates with
differing location or placeId.
|
LatitudeLongitudeLiteral
An object describing a specific location with Latitude and Longitude in
decimal degrees.
Field | Required | Type | Description |
---|
latitude
| required | number | Latitude in decimal degrees |
longitude
| required | number | Longitude in decimal degrees |
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-10。
[null,null,["最后更新时间 (UTC):2025-08-10。"],[[["\u003cp\u003eThe Roads API identifies the nearest road segment for up to 100 independent latitude/longitude coordinates.\u003c/p\u003e\n"],["\u003cp\u003eRequests are made via HTTPS using a specified URL structure including your API key and the desired coordinates.\u003c/p\u003e\n"],["\u003cp\u003eResponses provide a list of snapped points, each containing the location on the road, a unique place ID, and potentially the original request index.\u003c/p\u003e\n"],["\u003cp\u003eEach snapped point represents the closest road segment to the corresponding input coordinate, offering valuable road network data.\u003c/p\u003e\n"],["\u003cp\u003eUse Snap to Roads API when working with sequential GPS points, as this API focuses on individual, independent coordinates.\u003c/p\u003e\n"]]],["The Roads API receives up to 100 independent latitude/longitude coordinate pairs and identifies the closest road segment for each. Submit requests via HTTPS, including the coordinates separated by commas and pipes (e.g., `60.170880,24.942795|60.170879,24.942796`). The API returns an array of `snappedPoints`, containing each point's `location` (latitude/longitude), `placeId` (road segment identifier), and `originalIndex` (position in the request). Sequential points should be processed using `Snap to Roads` instead.\n"],null,["The Roads API takes up to 100 independent\ncoordinates, and returns the closest road segment for each point. The points\npassed don't need to be part of a continuous path.\n\nIf you are working with sequential GPS points, use [Snap to Roads](/maps/documentation/roads/%5Bsnap%5D).\n\nRequests\n\nA request to nearest roads must be sent using HTTPS, and takes the following\nform: \n\n```scdoc\nhttps://roads.googleapis.com/v1/nearestRoads?parameters&key=YOUR_API_KEY\n```\n\n\nRequired parameters\n\n-\n\n points\n\n\n The points to be snapped. The points parameter accepts a list of\n latitude/longitude pairs. Separate latitude and longitude values with\n commas. Separate coordinates with the pipe character: \"\\|\". For example:\n `points=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796`.\n\n\u003cbr /\u003e\n\nExamples\n\nThe following request returns a set of road segments based on the specified\nlist of coordinates.\n\n\u003cbr /\u003e\n\nURL \n\n```scdoc\nhttps://roads.googleapis.com/v1/nearestRoads\n ?points=60.170880%2C24.942795%7C60.170879%2C24.942796%7C60.170877%2C24.942796\n &key=YOUR_API_KEY\n```\n\ncURL \n\n```bash\ncurl -L -X GET 'https://roads.googleapis.com/v1/nearestRoads?points=60.170880%2C24.942795%7C60.170879%2C24.942796%7C60.170877%2C24.942796&key=YOUR_API_KEY'\n```\n\n\u003cbr /\u003e\n\nResponses\n\nFor each valid request, the Roads API will return a response in\nthe format indicated within the request URL.\n\n\n```json\n{\n \"snappedPoints\":\n [\n {\n \"location\":\n { \"latitude\": 60.170878428876755, \"longitude\": 24.94269540970182 },\n \"originalIndex\": 0,\n \"placeId\": \"ChIJfVFHrM0LkkYRBzUQos_jR5w\",\n },\n {\n \"location\":\n { \"latitude\": 60.17087741412199, \"longitude\": 24.942695474405202 },\n \"originalIndex\": 1,\n \"placeId\": \"ChIJfVFHrM0LkkYRBzUQos_jR5w\",\n },\n {\n \"location\":\n { \"latitude\": 60.170875416131736, \"longitude\": 24.942695601802203 },\n \"originalIndex\": 2,\n \"placeId\": \"ChIJfVFHrM0LkkYRBzUQos_jR5w\",\n },\n ],\n}\n```\n\n\u003cbr /\u003e\n\nThe response uses the following schema.\n\n\nNearestRoadsResponse\n\n| Field | Required | Type | Description |\n|:----------------|----------|-------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `snappedPoints` | optional | Array\\\u003c[SnappedPoint](#SnappedPoint \"SnappedPoint\")\\\u003e | An array of snapped points. Sometimes containing several snapped points for the same point with differing placeId or location. See [SnappedPoint](#SnappedPoint) for more information. |\n\nSnappedPoint\n\n| Field | Required | Type | Description |\n|:----------------|--------------|----------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `location` | **required** | [LatitudeLongitudeLiteral](#LatitudeLongitudeLiteral \"LatitudeLongitudeLiteral\") | See [LatitudeLongitudeLiteral](#LatitudeLongitudeLiteral \"LatitudeLongitudeLiteral\") for more information. |\n| `placeId` | **required** | string | A unique identifier for a place. All place IDs returned by the Roads API correspond to road segments. |\n| `originalIndex` | optional | number | An integer that indicates the corresponding value in the original request. Each value in the request should map to a snapped value in the response. However, if you've set interpolate=true or if you're using nearest roads, then it's possible that the response will contain more coordinates than the request. Interpolated values will not have an `originalIndex`. These values are indexed from `0`, so a point with an originalIndex of `4` will be the snapped value of the 5th latitude/longitude passed to the path parameter. Nearest Roads points may contain several points for single coordinates with differing location or placeId. |\n\nLatitudeLongitudeLiteral\n\n\nAn object describing a specific location with Latitude and Longitude in\ndecimal degrees.\n\n| Field | Required | Type | Description |\n|:------------|--------------|--------|------------------------------|\n| `latitude` | **required** | number | Latitude in decimal degrees |\n| `longitude` | **required** | number | Longitude in decimal degrees |\n\n\u003cbr /\u003e"]]