คำขอระดับความสูง
คำขอ Elevation API จะสร้างขึ้นเป็นสตริง URL API จะแสดงข้อมูลระดับความสูงของสถานที่ต่างๆ บนโลก คุณระบุข้อมูลสถานที่ตั้ง ได้ 2 วิธีดังนี้
- เป็นชุดของ
locationsอย่างน้อย 1 รายการ - เป็นชุดของจุดที่เชื่อมต่อกันตาม
path
ทั้ง 2 วิธีนี้ใช้พิกัดละติจูด/ลองจิจูดเพื่อระบุตำแหน่งหรือจุดยอดของเส้นทาง เอกสารนี้อธิบายรูปแบบที่จำเป็นของ URL ของ Elevation API และพารามิเตอร์ที่ใช้ได้
Elevation API จะแสดงข้อมูลสำหรับการค้นหาจุดเดียว ที่มีความแม่นยำสูงสุดเท่าที่จะเป็นไปได้ การค้นหาแบบกลุ่มที่เกี่ยวข้องกับหลายตำแหน่ง อาจแสดงข้อมูลที่มีความแม่นยำน้อยลง โดยเฉพาะอย่างยิ่งหากตำแหน่งอยู่ห่างกัน เนื่องจากมีการปรับข้อมูลให้เรียบ
คำขอ Elevation API มีรูปแบบดังนี้
https://maps.googleapis.com/maps/api/elevation/outputFormat?parameters
โดย outputFormat อาจมีค่าใดค่าหนึ่งต่อไปนี้
json(แนะนำ) ระบุเอาต์พุตใน JavaScript Object Notation (JSON) หรือxmlระบุเอาต์พุตใน XML ซึ่งอยู่ในโหนด<ElevationResponse>
หมายเหตุ: URL ต้องเข้ารหัสอย่างถูกต้องจึงจะใช้งานได้ และมีความยาวไม่เกิน 16384 ตัวสำหรับเว็บเซอร์วิสทั้งหมด โปรดทราบขีดจำกัดนี้เมื่อสร้าง URL โปรดทราบว่าเบราว์เซอร์ พร็อกซี และเซิร์ฟเวอร์ต่างๆ อาจมีขีดจำกัดอักขระของ URL ที่แตกต่างกันด้วย
ต้องใช้ HTTPS สำหรับคำขอที่ใช้คีย์ API
พารามิเตอร์คำขอ
คำขอไปยัง Elevation API จะใช้พารามิเตอร์ที่แตกต่างกัน โดยขึ้นอยู่กับว่าคำขอเป็นตำแหน่งที่ไม่ต่อเนื่องหรือเส้นทางที่เรียงลำดับ สำหรับตำแหน่งที่แยกกัน คำขอระดับความสูงจะแสดงข้อมูลเกี่ยวกับตำแหน่งที่เฉพาะเจาะจงซึ่งส่งในคำขอ ส่วนสำหรับเส้นทาง คำขอระดับความสูงจะสุ่มตัวอย่างตามเส้นทางที่ระบุแทน
พารามิเตอร์จะคั่นด้วยเครื่องหมายแอมเพอร์แซนด์ (&) ตามมาตรฐานใน URL ทั้งหมด รายการพารามิเตอร์
และค่าที่เป็นไปได้จะระบุไว้ด้านล่าง
คำขอทั้งหมด
key-- (ต้องระบุ) คีย์ API ของแอปพลิเคชัน คีย์นี้จะระบุตัวตนแอปพลิเคชันของคุณเพื่อวัตถุประสงค์ในการจัดการโควต้า ดูวิธีรับ คีย์
คำขอตำแหน่ง
locations(ต้องระบุ) กำหนดตำแหน่งบนโลกที่จะใช้แสดงผลข้อมูลระดับความสูง พารามิเตอร์นี้ใช้ค่าเป็น ตำแหน่งเดียวในรูปแบบคู่ {ละติจูด,ลองจิจูด} ที่คั่นด้วยคอมมา (เช่น "40.714728,-73.998672") หรือคู่ละติจูด/ลองจิจูดหลายคู่ ที่ส่งเป็นอาร์เรย์หรือเป็น Polyline ที่เข้ารหัส พารามิเตอร์นี้มีขีดจำกัดอยู่ที่ 512 จุด ดูข้อมูลเพิ่มเติมได้ที่ระบุตำแหน่งด้านล่าง
คำขอเส้นทางที่สุ่มตัวอย่าง
path(ต้องระบุ) กำหนดเส้นทางบนโลกเพื่อใช้เป็นเส้นทางที่ส่งคืนข้อมูลระดับความสูง พารามิเตอร์นี้กำหนดชุดคู่ {ละติจูด,ลองจิจูด} ที่เรียงลำดับแล้ว 2 คู่ขึ้นไป ซึ่งกำหนดเส้นทางตามพื้นผิวโลก พารามิเตอร์นี้ต้องใช้ร่วมกับsamplesพารามิเตอร์ที่อธิบายไว้ด้านล่าง พารามิเตอร์นี้มีจุดได้สูงสุด 512 จุด ดูข้อมูลเพิ่มเติมได้ที่ระบุเส้นทางด้านล่างsamples(ต้องระบุ) ระบุจำนวนจุดตัวอย่าง ตามเส้นทางที่จะแสดงข้อมูลระดับความสูง พารามิเตอร์samplesจะแบ่งpathที่ระบุ ออกเป็นชุดจุดที่เรียงตามลำดับซึ่งมีระยะห่างเท่ากันตามเส้นทาง
ระบุสถานที่
คำขอตำแหน่งจะระบุผ่านการใช้พารามิเตอร์ locations ซึ่งระบุคำขอระดับความสูง
สำหรับตำแหน่งที่เฉพาะเจาะจงที่ส่งเป็น
ค่าละติจูด/ลองจิจูด
พารามิเตอร์ locations อาจมีอาร์กิวเมนต์ต่อไปนี้
- พิกัดเดียว:
locations=40.714728,-73.998672 - อาร์เรย์ของพิกัดที่คั่นด้วยอักขระไปป์ ('
|')locations=40.714728,-73.998672|-34.397,150.644 - ชุดพิกัดที่เข้ารหัสโดยใช้อัลกอริทึม Polyline ที่เข้ารหัส:
locations=enc:gfo}EtohhU
สตริงพิกัดละติจูดและลองจิจูดกำหนดโดยใช้ตัวเลข
ภายในสตริงข้อความที่คั่นด้วยคอมมา เช่น "40.714728,-73.998672"
เป็นค่า locations ที่ถูกต้อง ค่าละติจูดและ
ลองจิจูดต้องสอดคล้องกับตำแหน่งที่ถูกต้อง
บนพื้นผิวโลก ค่าละติจูดเป็นค่าใดก็ได้ระหว่าง -90 ถึง 90 ส่วนค่าลองจิจูดเป็นค่าใดก็ได้ระหว่าง -180 ถึง 180 หากคุณระบุค่าละติจูดหรือลองจิจูดที่ไม่ถูกต้อง คำขอจะถูกปฏิเสธ
เนื่องจากเป็นคำขอที่ไม่ถูกต้อง
คุณส่งพิกัดได้สูงสุด 512 รายการภายในอาร์เรย์หรือโพลีไลน์ที่เข้ารหัส ขณะที่
ยังคงสร้าง URL ที่ถูกต้อง โปรดทราบว่าเมื่อส่งพิกัดหลายรายการ ความแม่นยำของข้อมูลที่ส่งกลับอาจมีความละเอียดต่ำกว่าเมื่อขอข้อมูลสำหรับพิกัดเดียว การระบุจุดหรือพิกัดเกิน 512 จุดในพารามิเตอร์ "locations" หรือ "path"
จะทำให้ระบบแสดงการตอบกลับ INVALID_REQUEST
ระบุเส้นทาง
คำขอเส้นทางที่สุ่มตัวอย่างจะระบุผ่านการใช้พารามิเตอร์ path
และ samples ซึ่งระบุคำขอข้อมูลระดับความสูง
ตามเส้นทางในช่วงเวลาที่ระบุ เช่นเดียวกับคำขอตามตำแหน่งที่ใช้พารามิเตอร์
locations พารามิเตอร์ path จะระบุ
ชุดค่าละติจูดและลองจิจูด อย่างไรก็ตาม path จะระบุชุดจุดยอดที่เรียงลำดับ ซึ่งแตกต่างจากคำขอตำแหน่ง ระบบจะสุ่มตัวอย่างคำขอเส้นทางตาม
ความยาวของเส้นทางโดยอิงตามจำนวนsamples
ที่ระบุ (รวมจุดสิ้นสุด) แทนที่จะแสดงข้อมูลความสูงเฉพาะที่จุดยอด
path พารามิเตอร์อาจใช้อาร์กิวเมนต์ใดอาร์กิวเมนต์หนึ่งต่อไปนี้
- อาร์เรย์ของสตริงข้อความพิกัดที่คั่นด้วยคอมมาอย่างน้อย 2 รายการซึ่งคั่น
โดยใช้อักขระไปป์ ("
|") ดังนี้path=40.714728,-73.998672|-34.397,150.644 - พิกัดที่เข้ารหัสโดยใช้อัลกอริทึม Polyline ที่เข้ารหัส
path=enc:gfo}EtohhUxD@bAxJmGF
สตริงพิกัดละติจูดและลองจิจูดจะกำหนดโดยใช้ตัวเลขภายในสตริงข้อความที่คั่นด้วยคอมมา เช่น "40.714728,-73.998672|-34.397,
150.644" เป็นค่า path ที่ถูกต้อง ค่าละติจูดและลองจิจูดต้องสอดคล้องกับตำแหน่งที่ถูกต้องบนพื้นผิวโลก ค่าละติจูดอาจเป็นค่าใดก็ได้
ระหว่าง -90 ถึง 90 ส่วนค่าลองจิจูดอาจเป็นค่าใดก็ได้ระหว่าง -180
ถึง 180 หากคุณระบุค่าละติจูดหรือลองจิจูดที่ไม่ถูกต้อง ระบบจะปฏิเสธคำขอของคุณเนื่องจากเป็นคำขอที่ไม่ถูกต้อง
คุณส่งพิกัดได้สูงสุด 512 รายการภายในอาร์เรย์หรือโพลีไลน์ที่เข้ารหัส ขณะที่
ยังคงสร้าง URL ที่ถูกต้อง โปรดทราบว่าเมื่อส่งพิกัดหลายรายการ ความแม่นยำของข้อมูลที่ส่งกลับอาจมีความละเอียดต่ำกว่าเมื่อขอข้อมูลสำหรับพิกัดเดียว การระบุจุดหรือพิกัดเกิน 512 จุดในพารามิเตอร์ "locations" หรือ "path"
จะทำให้ระบบแสดงการตอบกลับ INVALID_REQUEST
คำตอบเกี่ยวกับระดับความสูง
- อาร์เรย์ของสตริงข้อความพิกัดที่คั่นด้วยคอมมาอย่างน้อย 2 รายการซึ่งคั่น
โดยใช้อักขระไปป์ ("
|") ดังนี้path=40.714728,-73.998672|-34.397,150.644 - พิกัดที่เข้ารหัสโดยใช้อัลกอริทึม Polyline ที่เข้ารหัส
path=enc:gfo}EtohhUxD@bAxJmGF
สตริงพิกัดละติจูดและลองจิจูดจะกำหนดโดยใช้ตัวเลขภายในสตริงข้อความที่คั่นด้วยคอมมา เช่น "40.714728,-73.998672|-34.397,
150.644" เป็นค่า path ที่ถูกต้อง ค่าละติจูดและลองจิจูดต้องสอดคล้องกับตำแหน่งที่ถูกต้องบนพื้นผิวโลก ค่าละติจูดอาจเป็นค่าใดก็ได้
ระหว่าง -90 ถึง 90 ส่วนค่าลองจิจูดอาจเป็นค่าใดก็ได้ระหว่าง -180
ถึง -180 หากคุณระบุค่าละติจูดหรือลองจิจูดที่ไม่ถูกต้อง ระบบจะปฏิเสธคำขอของคุณเนื่องจากเป็นคำขอที่ไม่ถูกต้อง
คุณส่งพิกัดได้สูงสุด 512 รายการภายในอาร์เรย์หรือโพลีไลน์ที่เข้ารหัส ขณะที่
ยังคงสร้าง URL ที่ถูกต้อง โปรดทราบว่าเมื่อส่งพิกัดหลายรายการ ความแม่นยำของข้อมูลที่ส่งกลับอาจมีความละเอียดต่ำกว่าเมื่อขอข้อมูลสำหรับพิกัดเดียว การระบุจุดหรือพิกัดเกิน 512 จุดในพารามิเตอร์ "locations" หรือ "path"
จะทำให้ระบบแสดงการตอบกลับ INVALID_REQUEST
คำตอบเกี่ยวกับระดับความสูง
สำหรับคำขอที่ถูกต้องแต่ละรายการ บริการระดับความสูงจะแสดงผลการตอบกลับระดับความสูง ในรูปแบบที่ระบุไว้ใน URL ของคำขอ
ElevationResponse
| ช่อง | ต้องระบุ | ประเภท | คำอธิบาย |
|---|---|---|---|
|
ต้องระบุ | Array<ElevationResult> | ดูข้อมูลเพิ่มเติมได้ที่ ElevationResult |
|
ต้องระบุ | ElevationStatus | ดูข้อมูลเพิ่มเติมได้ที่ ElevationStatus |
|
ไม่บังคับ | สตริง |
เมื่อบริการแสดงรหัสสถานะอื่นที่ไม่ใช่ |
ElevationStatus
รหัสสถานะที่บริการส่งกลับ
OKซึ่งหมายความว่าคำขอ API สำเร็จDATA_NOT_AVAILABLEซึ่งระบุว่าไม่มีข้อมูลสำหรับสถานที่ตั้งที่ป้อนINVALID_REQUESTซึ่งบ่งชี้ว่าคำขอ API มีรูปแบบไม่ถูกต้องOVER_DAILY_LIMITที่ระบุข้อมูลต่อไปนี้- คีย์ API ขาดหายไปหรือไม่ถูกต้อง
- บัญชีของคุณไม่ได้เปิดใช้การเรียกเก็บเงิน
- มีการใช้งานเกินขีดจำกัดการใช้งานที่กำหนดเอง
- วิธีการชำระเงินที่ระบุใช้ไม่ได้อีกต่อไป (เช่น บัตรเครดิตหมดอายุ)
OVER_QUERY_LIMITแสดงว่าผู้ขอใช้โควต้าเกินแล้วREQUEST_DENIEDซึ่งบ่งบอกว่า API ไม่ได้ดำเนินการตามคำขอให้เสร็จสมบูรณ์UNKNOWN_ERRORแสดงว่าเกิดข้อผิดพลาดที่ไม่รู้จัก
เมื่อรหัสสถานะเป็นอย่างอื่นที่ไม่ใช่ OK อาจมีฟิลด์
error_message เพิ่มเติมภายในออบเจ็กต์การตอบกลับระดับความสูง ฟิลด์นี้มี
ข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับเหตุผลที่อยู่เบื้องหลังรหัสสถานะที่ระบุ
การตอบกลับจะมีอาร์เรย์ results ที่มีองค์ประกอบต่อไปนี้
ElevationResult
| ช่อง | ต้องระบุ | ประเภท | คำอธิบาย |
|---|---|---|---|
|
ต้องระบุ | ตัวเลข |
ระดับความสูงของสถานที่ตั้งเป็นเมตร |
|
ต้องระบุ | LatLngLiteral |
องค์ประกอบตำแหน่งของตำแหน่งที่กำลังคำนวณข้อมูลระดับความสูง โปรดทราบว่าสำหรับคำขอเส้นทาง ชุดองค์ประกอบตำแหน่ง จะมีจุดที่สุ่มตามเส้นทาง ดูข้อมูลเพิ่มเติมได้ที่ LatLngLiteral |
|
ไม่บังคับ | ตัวเลข |
ค่าที่ระบุระยะทางสูงสุดระหว่างจุดข้อมูลจาก ที่ประมาณค่าความสูงเป็นเมตร พร็อพเพอร์ตี้นี้จะ หายไปหากไม่ทราบความละเอียด โปรดทราบว่าข้อมูลระดับความสูง จะหยาบขึ้น (ค่าความละเอียดมากขึ้น) เมื่อส่งจุดหลายจุด หากต้องการรับค่าระดับความสูงที่แม่นยำที่สุดสำหรับจุดหนึ่งๆ คุณควรค้นหาค่าดังกล่าวแยกกัน |
LatLngLiteral
ออบเจ็กต์ที่อธิบายสถานที่ตั้งที่เฉพาะเจาะจงโดยมีละติจูดและลองจิจูดใน องศาทศนิยม
| ช่อง | ต้องระบุ | ประเภท | คำอธิบาย |
|---|---|---|---|
|
ต้องระบุ | ตัวเลข |
ละติจูดในหน่วยองศาทศนิยม |
|
ต้องระบุ | ตัวเลข |
ลองจิจูดในหน่วยองศาทศนิยม |
ตัวอย่างระดับความสูงเชิงตำแหน่ง
ตัวอย่างต่อไปนี้จะขอระดับความสูงของเดนเวอร์ รัฐโคโลราโด ซึ่งเป็น "เมืองที่อยู่สูงจากระดับน้ำทะเล 1 ไมล์"
URL
https://maps.googleapis.com/maps/api/elevation/json
?locations=39.7391536%2C-104.9847034
&key=YOUR_API_KEY
cURL
curl -L -X GET 'https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536%2C-104.9847034&key=YOUR_API_KEY'
JSON
{ "results": [ { "elevation": 1608.637939453125, "location": { "lat": 39.7391536, "lng": -104.9847034 }, "resolution": 4.771975994110107, }, ], "status": "OK", }
XML
<ElevationResponse> <status>OK</status> <result> <location> <lat>39.7391536</lat> <lng>-104.9847034</lng> </location> <elevation>1608.6379395</elevation> <resolution>4.7719760</resolution> </result> </ElevationResponse>
ตัวอย่างต่อไปนี้แสดงการตอบกลับหลายรายการ (สำหรับเดนเวอร์ รัฐโคโลราโด และสำหรับ เดธวัลเลย์ รัฐแคลิฟอร์เนีย)
คำขอนี้แสดงการใช้แฟล็ก output ของ JSON ดังนี้
URL
https://maps.googleapis.com/maps/api/elevation/json
?locations=39.7391536%2C-104.9847034%7C36.455556%2C-116.866667
&key=YOUR_API_KEY
cURL
curl -L -X GET 'https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536%2C-104.9847034%7C36.455556%2C-116.866667&key=YOUR_API_KEY'
คำขอนี้แสดงการใช้แฟล็ก output XML ดังนี้
https://maps.googleapis.com/maps/api/elevation/xml?locations=39.7391536,-104.9847034|36.455556,-116.866667&key=YOUR_API_KEY
เลือกแท็บด้านล่างเพื่อดูตัวอย่างการตอบกลับ JSON และ XML
JSON
{ "results": [ { "elevation": 1608.637939453125, "location": { "lat": 39.7391536, "lng": -104.9847034 }, "resolution": 4.771975994110107, }, { "elevation": -52.79492568969727, "location": { "lat": 36.455556, "lng": -116.866667 }, "resolution": 19.08790397644043, }, ], "status": "OK", }
XML
<ElevationResponse> <status>OK</status> <result> <location> <lat>39.7391536</lat> <lng>-104.9847034</lng> </location> <elevation>1608.6379395</elevation> <resolution>4.7719760</resolution> </result> <result> <location> <lat>36.4555560</lat> <lng>-116.8666670</lng> </location> <elevation>-52.7949257</elevation> <resolution>19.0879040</resolution> </result> </ElevationResponse>
ตัวอย่างต่อไปนี้ขอข้อมูลระดับความสูงตามแนวเส้นตรง
path จากภูเขา Whitney ในแคลิฟอร์เนียไปยัง Badwater ในแคลิฟอร์เนีย ซึ่งเป็นจุดที่สูงที่สุดและ
ต่ำที่สุดในสหรัฐอเมริกาภาคพื้นทวีป เราขอ 3
samples ซึ่งจะรวมถึงจุดสิ้นสุด 2 จุดและ
จุดกึ่งกลาง
URL
https://maps.googleapis.com/maps/api/elevation/json ?path=36.578581%2C-118.291994%7C36.23998%2C-116.83171 &samples=3 &key=YOUR_API_KEY
cURL
curl -L -X GET 'https://maps.googleapis.com/maps/api/elevation/json?path=36.578581%2C-118.291994%7C36.23998%2C-116.83171&samples=3&key=YOUR_API_KEY'
JSON
{ "results": [ { "elevation": 4411.94189453125, "location": { "lat": 36.578581, "lng": -118.291994 }, "resolution": 19.08790397644043, }, { "elevation": 1372.8359375, "location": { "lat": 36.41150289067028, "lng": -117.5602607523847 }, "resolution": 9.543951988220215, }, { "elevation": -84.51690673828125, "location": { "lat": 36.23998, "lng": -116.83171 }, "resolution": 9.543951988220215, }, ], "status": "OK", }
XML
<ElevationResponse> <status>OK</status> <result> <location> <lat>36.5785810</lat> <lng>-118.2919940</lng> </location> <elevation>4411.9418945</elevation> <resolution>19.0879040</resolution> </result> <result> <location> <lat>36.4115029</lat> <lng>-117.5602608</lng> </location> <elevation>1372.8359375</elevation> <resolution>9.5439520</resolution> </result> <result> <location> <lat>36.2399800</lat> <lng>-116.8317100</lng> </location> <elevation>-84.5169067</elevation> <resolution>9.5439520</resolution> </result> </ElevationResponse>