با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
Roads API محدودیت سرعت ارسال شده را برای یک بخش جاده معین برمی گرداند. در مورد بخشهای جادهای با محدودیت سرعت متغیر، محدودیت سرعت پیشفرض برای آن بخش برگردانده میشود.
صحت داده های محدودیت سرعت بازگردانده شده توسط Roads API را نمی توان تضمین کرد. داده های محدودیت سرعت ارائه شده در زمان واقعی نیستند و ممکن است تخمین زده، نادرست، ناقص یا قدیمی باشند. برای مشاهده مناطقی که داده محدودیت سرعت در دسترس است، جزئیات پوشش را ببینید.
درخواست ها
درخواست محدودیت سرعت را با استفاده از HTTPS به شکل زیر ارسال کنید:
path - لیستی از حداکثر 100 جفت طول و عرض جغرافیایی که یک مسیر را نشان می دهد. مقادیر طول و عرض جغرافیایی باید با کاما از هم جدا شوند. جفت طول و عرض جغرافیایی باید با کاراکتر لوله از هم جدا شوند: "|". هنگامی که پارامتر path تهیه می کنید ، API ابتدا مسیر را به احتمال زیاد جاده ای که توسط یک وسیله نقلیه طی می شود (همانطور که برای درخواست snapToRoads انجام می دهد) می گیرد ، سپس محدودیت سرعت بخش جاده مربوطه را تعیین می کند. اگر نمیخواهید API مسیر را قطع کند، باید یک پارامتر placeId را همانطور که در زیر توضیح داده شده است ارسال کنید. مثال زیر پارامتر path را با سه جفت طول و عرض جغرافیایی نشان میدهد: path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796 .
placeId - شناسه (های) مکان که یک یا چند بخش جاده را نشان می دهد. مطمئن شوید که شناسه هر مکان به یک بخش جاده اشاره دارد و نه یک مکان متفاوت. با هر درخواست می توانید تا 100 شناسه مکان را ارسال کنید. API بر روی شناسههای مکان ارائهشده، جابجایی جاده را انجام نمیدهد. پاسخ شامل محدودیت سرعت برای هر شناسه مکان در درخواست است. میتوانید یک درخواست snapToRoads یا nearestRoads ارسال کنید تا شناسههای مکان مربوطه را بیابید و سپس آنها را به عنوان ورودی به درخواست speedLimits ارائه دهید. مثال زیر پارامتر placeId را با دو شناسه مکان نشان می دهد: placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
key - کلید API برنامه شما. برنامه شما باید هر بار که درخواستی به Roads API ارسال می کند، خود را با گنجاندن یک کلید API با هر درخواست شناسایی کند. نحوه گرفتن کلید را بیاموزید.
پارامترهای اختیاری
units — آیا محدودیت های سرعت را بر حسب کیلومتر یا مایل در ساعت برمی گرداند. این را می توان روی KPH یا MPH تنظیم کرد. پیشفرض KPH است.
پاسخ ها
عناصر زیر ممکن است در پاسخ speedLimits وجود داشته باشد:
speedLimits - مجموعه ای از ابرداده های جاده. هر عنصر از فیلدهای زیر تشکیل شده است:
placeId - یک شناسه منحصر به فرد برای یک مکان. همه شناسههای مکان بازگردانده شده توسط Roads API با بخشهای جاده مطابقت دارند.
speedLimit - محدودیت سرعت برای آن بخش جاده.
units - KPH یا MPH را برمیگرداند.
snappedPoints - آرایه ای از نقاط شکسته شده. این آرایه فقط در صورتی وجود دارد که درخواست حاوی پارامتر path باشد. هر نقطه از فیلدهای زیر تشکیل شده است:
location - شامل یک مقدار latitude و longitude است.
originalIndex - یک عدد صحیح که مقدار مربوطه را در درخواست اصلی نشان می دهد. هر مقدار در درخواست باید به یک مقدار قطع شده در پاسخ نگاشت شود. این مقادیر از 0 ایندکس می شوند، بنابراین یک نقطه با یک originalIndex4 ، مقدار قطع شده 5مین طول و عرض جغرافیایی خواهد بود که به پارامتر path ارسال شده است.
placeId - یک شناسه منحصر به فرد برای یک مکان. همه شناسههای مکان بازگردانده شده توسط Roads API با بخشهای جاده مطابقت دارند. placeId می توان در یک درخواست محدودیت سرعت برای تعیین محدودیت سرعت در آن بخش جاده ارسال کرد.
warning_message - رشته ای حاوی یک هشدار قابل مشاهده توسط کاربر.
درخواست مثال با استفاده از یک مسیر
این درخواست محدودیت سرعت را برای هر بخش جاده نزدیک به جفت طول و عرض جغرافیایی مشخص شده در مسیر عبور از پل واسکو داگاما در لیسبون، پرتغال دریافت می کند.
{
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."
}
به پیام هشدار برای پراکندگی نقطه در پاسخ بالا توجه کنید. اگر برای نزدیکترین بخشهای جاده در نقاط دلخواه محدودیت سرعت درخواست میکنید، باید با speedLimits با شناسههای مکان بازیابی شده از nearestRoads نقطه پایانی جاده تماس بگیرید.
درخواست مثال با استفاده از شناسه مکان
به جای استفاده از جفت طول و عرض جغرافیایی، می توانید شناسه مکان بخش های جاده را پاس کنید. توصیه میکنیم با استفاده از درخواستهای snapToRoads یا nearestRoads ، شناسههای مکان برای بخشهای جاده را دریافت کنید. وقتی شناسههای مکان را پاس میکنید، API محدودیت سرعت را برای بخش جاده نشاندادهشده توسط هر شناسه مکان برمیگرداند. API هیچ گونه تعلیق جاده ای را برای شناسه های مکان ارائه شده اعمال نمی کند.
مثال زیر محدودیتهای سرعت را برای برخی از بخشهای جادهای که از پل واسکو داگاما در لیسبون، پرتغال عبور میکنند، درخواست میکند.
برای به حداقل رساندن حجم تماس با سرویس محدودیت سرعت، توصیه می کنیم مکان دارایی های خود را در فواصل زمانی 5 تا 15 دقیقه ای نمونه برداری کنید (مقدار دقیق بستگی به سرعت حرکت دارایی دارد). اگر دارایی ثابت باشد، یک نمونه مکان کافی است (نیازی به برقراری تماس های متعدد نیست).
برای به حداقل رساندن تأخیر کلی، توصیه میکنیم پس از جمعآوری دادهها، بهجای تماس با API هر بار که مکان دارایی تلفن همراه دریافت میشود، با سرویس محدودیت سرعت تماس بگیرید.
چرا برخی/همه محدودیتهای سرعت گم شدهاند؟
شایعترین علت از دست دادن speedLimits درخواست محدودیت سرعت مکانی است که بخش جاده نیست.
مثال بالا از پل واسکو داگاما برای نشان دادن مفاهیم استفاده می کند. پل از جاده E90 که از روی ریو تجو عبور می کند پشتیبانی می کند. خود پل دارای شناسه مکانی ChIJUzt97ZEwGQ0RM1JzQfqoDtU است. اولین بخش جاده در پاسخ فوق بخشی از جاده E90 است و دارای شناسه مکانی ChIJX12duJAwGQ0Ra0d4Oi4jOGE است. در درخواست مثال، اگر شناسه مکان جاده را با شناسه مکان پل جایگزین کنید، در پاسخ فقط دو محدودیت سرعت در آرایه speedLimits وجود خواهد داشت زیرا شناسه مکان پل به یک بخش جاده اشاره نمی کند. علاوه بر این، اگر هیچ یک از شناسههای مکان برای بخشهای جادهای نباشد، پاسخ شامل محدودیت سرعت نخواهد بود.
هنگام درخواست محدودیت سرعت با استفاده از شناسه مکان، مطمئن شوید که هر شناسه مکان به یک بخش جاده اشاره دارد و نه نوع متفاوتی از مکان. شناسههای مکان برای بخشهای جادهای به بهترین وجه با استفاده از درخواستهای snapToRoads یا nearestRoads بازیابی میشوند، که هر کدام میتوانند چندین شناسه مکان را از یک تماس برگردانند.
تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003eThe Roads API returns the posted speed limit for given road segments, but the accuracy of the data is not guaranteed and may not be real-time.\u003c/p\u003e\n"],["\u003cp\u003eYou can request speed limits by providing a path of latitude/longitude pairs or place IDs of road segments, using the \u003ccode\u003epath\u003c/code\u003e or \u003ccode\u003eplaceId\u003c/code\u003e parameters respectively.\u003c/p\u003e\n"],["\u003cp\u003eThe response includes the speed limit, units (KPH or MPH), and may include snapped points if a path was provided.\u003c/p\u003e\n"],["\u003cp\u003eSpeed limit data might be missing if the requested place ID is not a road segment; use \u003ccode\u003esnapToRoads\u003c/code\u003e or \u003ccode\u003enearestRoads\u003c/code\u003e to obtain place IDs for road segments.\u003c/p\u003e\n"],["\u003cp\u003eTo optimize usage, sample asset locations at intervals and batch speed limit requests for reduced latency and API calls.\u003c/p\u003e\n"]]],["The Speed Limit service, available with an Asset Tracking license, returns posted speed limits for road segments via the Roads API. Requests, sent via HTTPS, require either a `path` (latitude/longitude pairs) or `placeId` of road segments. The API can snap paths to roads or directly use road segment place IDs. Optional parameters include `units` (KPH/MPH). Responses provide speed limit, units, and place ID. Accuracy isn't guaranteed. Optimal use includes sampling locations every 5-15 minutes, and batching requests. Ensure PlaceIds refer to road segments.\n"],null,["# Speed limits\n\n| **Notice:** The Speed Limit service is available to all customers with an [Asset\n| Tracking](https://cloud.google.com/maps-platform/asset-tracking) license. For [Google Maps Platform Premium Plan](/maps/premium) customers who transitioned to pay-as-you-go pricing, the Speed Limit feature remains active on projects with Asset Tracking capabilities (projects with a project ID in the format maps-asset-xxx).\n\nThe Roads API returns the posted speed limit for a given road\nsegment. In the case of road segments with variable speed limits, the default\nspeed limit for the segment is returned.\n\nThe accuracy of speed limit data returned by the Roads API\ncannot be guaranteed. The speed limit data provided is not real-time, and may be\nestimated, inaccurate, incomplete, or outdated. See [coverage details](/maps/coverage)\nto see the regions where speed limit data is available.\n\nRequests\n--------\n\nSend requests for speed limits using HTTPS, in the following form: \n\n```scdoc\nhttps://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEY\n```\n\n\u003cbr /\u003e\n\n### Parameter usage\n\n**Required parameters**\n\n- Either a `path` or a `placeId` parameter.\n - `path` --- A list of up to 100 latitude/longitude pairs representing a path. Latitude and longitude values must be separated by commas. Latitude/longitude pairs must be separated by the pipe character: \"\\|\". When you supply the `path` parameter, the API first snaps the path to the most likely road traveled by a vehicle (as it does for the [`snapToRoads`](/maps/documentation/roads/snap) request), then determines the speed limit for the relevant road segment. If you don't want the API to snap the path, you must pass a `placeId` parameter as explained below. The following example shows the `path` parameter with three latitude/longitude pairs: `path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796`.\n - `placeId` --- The place ID(s) representing one or more road segments. Make sure each place ID refers to a road segment and not a different type of place. You can pass up to 100 place IDs with each request. The API does not perform road-snapping on the supplied place IDs. The response includes a speed limit for each place ID in the request. You can send a [`snapToRoads`](/maps/documentation/roads/snap) or [`nearestRoads`](/maps/documentation/roads/nearest) request to find the relevant place IDs then supply them as input to the `speedLimits` request. The following example shows the `placeId` parameter with two place IDs: `placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU`\n- `key` --- Your application's API key. Your application must identify itself every time it sends a request to the Roads API by including an API key with each request. Learn how to [get a key](/maps/documentation/roads/get-api-key).\n\n**Optional parameters**\n\n- `units` --- Whether to return speed limits in kilometers or miles per hour. This can be set to either `KPH` or `MPH`. Defaults to `KPH`.\n\nResponses\n---------\n\nThe following elements may be present in a `speedLimits` response:\n\n- `speedLimits` --- An array of road metadata. Each element consists of the following fields:\n - `placeId` --- A unique identifier for a place. All place IDs returned by the Roads API will correspond to road segments.\n - `speedLimit` --- The speed limit for that road segment.\n - `units` --- Returns either `KPH` or `MPH`.\n- `snappedPoints` --- an array of snapped points. This array is present only if the request contained a `path` parameter. Each point consists of the following fields:\n - `location` --- contains a `latitude` and `longitude` value.\n - `originalIndex` --- 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. 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.\n - `placeId` --- A unique identifier for a place. All place IDs returned by the Roads API will correspond to road segments. The `placeId` can be passed in a speed limits request to determine the speed limit along that road segment.\n- `warning_message` --- A string containing a user-visible warning.\n\nExample request using a path\n----------------------------\n\nThis request gets the speed limit for each road segment nearest to the\nspecified latitude/longitude pairs in a path crossing the Vasco da Gama\nbridge in Lisbon, Portugal.\n\n**Request** \n\n```scdoc\nhttps://roads.googleapis.com/v1/speedLimits?path=38.75807927603043,-9.03741754643809|38.6896537,-9.1770515|41.1399289,-8.6094075&key=YOUR_API_KEY\n```\n\n**Response** \n\n```text\n{\n speedLimits:\n [\n {\n placeId: \"ChIJX12duJAwGQ0Ra0d4Oi4jOGE\",\n speedLimit: 105,\n units: \"KPH\"\n },\n {\n placeId: \"ChIJLQcticc0GQ0RoiNZJVa5GxU\",\n speedLimit: 70,\n units: \"KPH\"\n },\n {\n placeId: \"ChIJJ4vQRudkJA0RpednU70A-5M\",\n speedLimit: 55,\n units: \"KPH\"\n }\n ],\n snappedPoints:\n [\n {\n location:\n {\n latitude: 38.75807927603043,\n longitude: -9.037417546438084\n },\n originalIndex: 0,\n placeId: \"ChIJX12duJAwGQ0Ra0d4Oi4jOGE\"\n },\n {\n location:\n {\n latitude: 38.689653701836896,\n longitude: -9.177051486847693\n },\n originalIndex: 1,\n placeId: \"ChIJLQcticc0GQ0RoiNZJVa5GxU\"\n },\n {\n location:\n {\n latitude: 41.13993011767777,\n longitude: -8.609400794783655\n },\n originalIndex: 2,\n placeId: \"ChIJJ4vQRudkJA0RpednU70A-5M\"\n }\n ],\n 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.\"\n}\n```\n\nNotice the **warning message** for point sparsity in the above response. If you\nare requesting speed limits for the nearest road segments at arbitrary points,\nyou must call `speedLimits` with place IDs retrieved from the\n[`nearestRoads`](/maps/documentation/roads/nearest) endpoint instead.\n\nExample request using place IDs\n-------------------------------\n\nInstead of using latitude/longitude pairs, you can pass the place IDs of the\nroad segments. We recommend you obtain place IDs for road segments using\n`snapToRoads` or `nearestRoads` requests. When you pass place IDs, the API\nreturns the speed limit for the road segment represented by each place ID. The\nAPI does not apply any road-snapping to the place IDs supplied.\n\nThe following example requests the speed limits for some of the road segments\nthat cross the Vasco da Gama bridge in Lisbon, Portugal.\n\n**Request** \n\n```scdoc\nhttps://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEY\n```\n\n**Response** \n\n```text\n{\n \"speedLimits\": [\n {\n placeId: \"ChIJX12duJAwGQ0Ra0d4Oi4jOGE\",\n speedLimit: 105,\n units: \"KPH\"\n },\n {\n placeId: \"ChIJLQcticc0GQ0RoiNZJVa5GxU\",\n speedLimit: 70,\n units: \"KPH\"\n },\n {\n placeId: \"ChIJJ4vQRudkJA0RpednU70A-5M\",\n speedLimit: 55,\n units: \"KPH\"\n }\n ]\n}\n```\n\nUsage recommendations\n---------------------\n\nTo minimize the volume of calls to the Speed Limit service, we recommend\nsampling the locations of your assets at 5 to 15 minute intervals (the exact\nvalue depends on the speed at which an asset is traveling). If an asset is\nstationary, a single location sample is sufficient (there is no need to make\nmultiple calls).\n\nTo minimize overall latency, we recommend calling the Speed Limit service\nonce you have accumulated some data, rather than calling the API every time the\nlocation of a mobile asset is received.\n\nWhy are some/all speed limits missing?\n--------------------------------------\n\nThe most common cause of missing `speedLimits` is requesting the speed limit\nof a place that is not a road segment.\n\nThe above example uses the Vasco da Gama bridge to illustrate concepts;\nthe bridge supports the road E90 crossing over the Rio Tejo. The bridge\nitself has a place ID of ChIJUzt97ZEwGQ0RM1JzQfqoDtU. The first road segment\nin the above response is part of the E90 road and has a place ID of\nChIJX12duJAwGQ0Ra0d4Oi4jOGE. In the example request, if you replace the road\nplace ID with the bridge's place ID, then in the response there will only be\ntwo speed limits in the `speedLimits` array because the bridge's place ID\ndoes not refer to an individual road segment. Furthermore, if none of the\nplace IDs are for road segments, then the response won't contain any\nspeed limits.\n\nWhen making speed limit requests using place IDs, make sure each place ID\nrefers to a road segment and not a different type of place. Place IDs for\nindividual road segments are best retrieved using `snapToRoads`\nor `nearestRoads` requests, either of which can return multiple place IDs from\na single call."]]