Roads API จะแสดงผลขีดจำกัดความเร็วที่ประกาศไว้สำหรับส่วนของถนนที่ระบุ ในกรณีของกลุ่มถนนที่มีการจำกัดความเร็วที่เปลี่ยนแปลงได้ ระบบจะแสดงการจำกัดความเร็วเริ่มต้น สำหรับกลุ่ม
เราไม่สามารถรับประกันความถูกต้องของข้อมูลจำกัดความเร็วที่ Roads API แสดง ข้อมูลการจำกัดความเร็วที่ระบุไม่ใช่ข้อมูลแบบเรียลไทม์ และอาจเป็นข้อมูลโดยประมาณ ไม่ถูกต้อง ไม่สมบูรณ์ หรือล้าสมัย ดูรายละเอียดความครอบคลุม เพื่อดูภูมิภาคที่มีข้อมูลการจำกัดความเร็ว
คำขอ
ส่งคำขอขีดจำกัดความเร็วโดยใช้ HTTPS ในรูปแบบต่อไปนี้
https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEYการใช้พารามิเตอร์
พารามิเตอร์ที่จำเป็น
- พารามิเตอร์ - pathหรือ- placeId- path— รายการคู่ละติจูด/ลองจิจูดสูงสุด 100 คู่ที่แสดงถึง เส้นทาง ค่าละติจูดและลองจิจูดต้องคั่นด้วยคอมมา คู่ละติจูด/ลองจิจูดต้องคั่นด้วยอักขระไปป์ "|" เมื่อระบุพารามิเตอร์- pathAPI จะสแนปเส้นทางไปยัง ถนนที่ยานพาหนะน่าจะใช้มากที่สุดก่อน (เช่นเดียวกับคำขอ- snapToRoads) จากนั้นจะกำหนดขีดจำกัดความเร็วสำหรับ ส่วนของถนนที่เกี่ยวข้อง หากไม่ต้องการให้ API สแนปเส้นทาง คุณต้องส่งพารามิเตอร์- placeIdตามที่อธิบายไว้ด้านล่าง ตัวอย่างต่อไปนี้ แสดงพารามิเตอร์- pathที่มีคู่ละติจูด/ลองจิจูด 3 คู่- path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796
- placeId- รหัสสถานที่ซึ่งแสดงถึงส่วนของถนนอย่างน้อย 1 ส่วน ตรวจสอบว่ารหัสสถานที่แต่ละรายการอ้างอิงถึงส่วนของถนน ไม่ใช่สถานที่ประเภทอื่น คุณส่งรหัสสถานที่ได้สูงสุด 100 รายการในแต่ละคำขอ การตอบกลับจะมีขีดจำกัดความเร็วสำหรับรหัสสถานที่แต่ละรายการในคำขอ- API จะไม่ทำการปรับเส้นทางตามถนนในรหัสสถานที่ที่ระบุ คุณสามารถส่งคำขอ - snapToRoadsหรือ- nearestRoadsเพื่อค้นหารหัสสถานที่ที่เกี่ยวข้อง แล้วระบุรหัสเหล่านั้นเป็นอินพุตในคำขอ- speedLimitsตัวอย่างต่อไปนี้แสดงพารามิเตอร์- placeIdที่มีรหัสสถานที่ 2 รายการ- placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
 
- key— คีย์ API ของแอปพลิเคชัน Roads API แอปพลิเคชันของคุณต้องระบุตัวตนทุกครั้งที่ส่งคำขอไปยังRoads APIโดยใส่คีย์ API ไปกับคำขอแต่ละรายการ ดูวิธีรับคีย์
พารามิเตอร์ที่ไม่บังคับ
- units— จะแสดงการจำกัดความเร็วเป็นกิโลเมตรหรือไมล์ต่อชั่วโมงหรือไม่ โดยตั้งค่าเป็น- KPHหรือ- MPHก็ได้ ค่าเริ่มต้นคือ- KPH
คำตอบ
องค์ประกอบต่อไปนี้อาจปรากฏในการตอบกลับ speedLimits
- speedLimits— อาร์เรย์ของข้อมูลเมตาของถนน แต่ละองค์ประกอบประกอบด้วยฟิลด์ต่อไปนี้- placeId— ตัวระบุที่ไม่ซ้ำกันสำหรับสถานที่ รหัสสถานที่ทั้งหมดที่ Roads API ส่งคืน จะสอดคล้องกับส่วนของถนน
- speedLimit— ขีดจำกัดความเร็วสำหรับส่วนของถนนนั้น
- units— แสดงผล- KPHหรือ- MPH
 
- snappedPoints- อาร์เรย์ของจุดที่สแนป อาร์เรย์นี้จะแสดงก็ต่อเมื่อคำขอมีพารามิเตอร์- pathเท่านั้น แต่ละจุดประกอบด้วยฟิลด์ต่อไปนี้- location— มีค่า- latitudeและ- longitude
- originalIndex— จำนวนเต็มที่ระบุค่าที่เกี่ยวข้อง ในคำขอเดิม ค่าแต่ละค่าในคำขอควรจับคู่กับ ค่าที่สแนปในคำตอบ ค่าเหล่านี้จัดทำดัชนีจาก- 0ดังนั้นจุดที่มี- originalIndexเป็น- 4จะเป็นค่าที่สแนปของละติจูด/ลองจิจูดที่ 5 ซึ่งส่งไปยังพารามิเตอร์- path
- placeId— ตัวระบุที่ไม่ซ้ำกันสำหรับสถานที่ รหัสสถานที่ทั้งหมดที่ Roads API ส่งคืน จะสอดคล้องกับส่วนของถนน คุณส่ง- placeIdในคำขอจำกัดความเร็วเพื่อกำหนด ขีดจำกัดความเร็วตามส่วนของถนนนั้นได้
 
- warning_message— สตริงที่มีคำเตือนที่ผู้ใช้มองเห็น
ตัวอย่างคำขอที่ใช้เส้นทาง
คำขอนี้จะรับขีดจำกัดความเร็วสำหรับแต่ละส่วนของถนนที่อยู่ใกล้กับ คู่ละติจูด/ลองจิจูดที่ระบุในเส้นทางที่ข้ามสะพานวาสโก ดา กามา ในลิสบอน ประเทศโปรตุเกส
คำขอ
https://roads.googleapis.com/v1/speedLimits?path=38.75807927603043,-9.03741754643809|38.6896537,-9.1770515|41.1399289,-8.6094075&key=YOUR_API_KEYการตอบกลับ
{
  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 จะไม่ใช้การปรับถนนให้ตรงกับรหัสสถานที่ที่ระบุ
คำขอตัวอย่างต่อไปนี้ขอขีดจำกัดความเร็วสำหรับบางส่วนของถนน ที่ข้ามสะพานวาสโก ดา กามา ในลิสบอน ประเทศโปรตุเกส
คำขอ
https://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEYการตอบกลับ
{
  "speedLimits": [
    {
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE",
      speedLimit: 105,
      units: "KPH"
    },
    {
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU",
      speedLimit: 70,
      units: "KPH"
    },
    {
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M",
      speedLimit: 55,
      units: "KPH"
    }
  ]
}คำแนะนำในการใช้งาน
หากต้องการลดปริมาณการโทรไปยังบริการจำกัดความเร็ว เราขอแนะนำให้ สุ่มตัวอย่างตำแหน่งของชิ้นงานทุกๆ 5-15 นาที (ค่าที่แน่นอน จะขึ้นอยู่กับความเร็วที่ชิ้นงานเคลื่อนที่) หากชิ้นงานอยู่กับที่ ตัวอย่างตำแหน่งเดียวก็เพียงพอ (ไม่จำเป็นต้องโทรหลายครั้ง)
เราขอแนะนำให้เรียกใช้บริการจำกัดความเร็ว เมื่อสะสมข้อมูลได้จำนวนหนึ่งแล้ว เพื่อลดเวลาในการตอบสนองโดยรวม แทนที่จะเรียกใช้ API ทุกครั้งที่ได้รับ ตำแหน่งของอุปกรณ์เคลื่อนที่
ทำไมขีดจำกัดความเร็วบางส่วน/ทั้งหมดจึงหายไป
สาเหตุที่พบบ่อยที่สุดที่ทำให้ไม่มี speedLimits คือการขอจำกัดความเร็ว
ของสถานที่ที่ไม่ใช่ส่วนของถนน
ตัวอย่างข้างต้นใช้สะพาน Vasco da Gama เพื่ออธิบายแนวคิด
สะพานรองรับถนน E90 ที่ข้ามแม่น้ำ Rio Tejo ตัวสะพาน
มีรหัสสถานที่ ChIJUzt97ZEwGQ0RM1JzQfqoDtU ส่วนถนนแรก
ในการตอบกลับข้างต้นเป็นส่วนหนึ่งของถนน E90 และมีรหัสสถานที่
ChIJX12duJAwGQ0Ra0d4Oi4jOGE ในคำขอตัวอย่าง หากคุณแทนที่รหัสถนน
ด้วยรหัสสถานที่ของสะพาน ในการตอบกลับจะมี
ป้ายจำกัดความเร็วเพียง 2 ป้ายในอาร์เรย์ speedLimits เนื่องจากรหัสสถานที่ของสะพาน
ไม่ได้อ้างอิงถึงส่วนของถนนแต่ละส่วน นอกจากนี้ หากไม่มีรหัสสถานที่สำหรับส่วนของถนน การตอบกลับจะไม่มี
ขีดจำกัดความเร็ว
เมื่อส่งคำขอขีดจำกัดความเร็วโดยใช้รหัสสถานที่ โปรดตรวจสอบว่ารหัสสถานที่แต่ละรายการ
อ้างอิงถึงส่วนของถนน ไม่ใช่สถานที่ประเภทอื่น การดึงรหัสสถานที่สำหรับ
ส่วนถนนแต่ละส่วนทำได้ดีที่สุดโดยใช้คำขอ snapToRoads
หรือ nearestRoads ซึ่งคำขอใดคำขอหนึ่งสามารถแสดงรหัสสถานที่หลายรายการจากการเรียกใช้ครั้งเดียว