การเข้ารหัส class
google.maps.geometry.encoding
ชั้นเรียน
ยูทิลิตีสำหรับการเข้ารหัสและถอดรหัสเส้นหลายเส้น
เข้าถึงได้โดยโทรไปที่ const {encoding} = await google.maps.importLibrary("geometry")
ดูไลบรารีใน Maps JavaScript API
เมธอดแบบคงที่ | |
---|---|
decodePath |
decodePath(encodedPath) พารามิเตอร์:
ถอดรหัสสตริงเส้นทางที่เข้ารหัสเป็นลำดับของ LatLng |
encodePath |
encodePath(path) พารามิเตอร์:
ค่าที่ส่งคืน:
string เข้ารหัสลำดับ LatLng เป็นสตริงเส้นทางที่เข้ารหัส |
ทรงกลม class
google.maps.geometry.spherical
ชั้นเรียน
ฟังก์ชันยูทิลิตีสำหรับการคำนวณมุม ระยะทาง และพื้นที่ของเส้นโค้งบนพื้นผิวโลก รัศมีเริ่มต้นคือรัศมีของโลกที่ 6378137 เมตร
เข้าถึงได้โดยโทรไปที่ const {spherical} = await google.maps.importLibrary("geometry")
ดูไลบรารีใน Maps JavaScript API
เมธอดแบบคงที่ | |
---|---|
computeArea |
computeArea(path[, radiusOfSphere]) พารามิเตอร์:
ค่าที่ส่งคืน:
number แสดงพื้นที่ที่ไม่ได้ลงนามของเส้นทางปิดในช่วง [0, 2×pi×radius²] พื้นที่ที่คำนวณใช้หน่วยเดียวกับรัศมี radiusOfSphere จะมีค่าเริ่มต้นเป็นรัศมีของโลกในหน่วยเมตร ในกรณีนี้ พื้นที่จะอยู่ในหน่วยตารางเมตร การส่ง Circle ต้องตั้งค่า radius เป็นค่าที่ไม่ใช่ค่าลบ นอกจากนี้ วงกลมต้องไม่ครอบคลุมทรงกลมเกิน 100% และเมื่อส่ง LatLngBounds ละติจูดใต้ต้องอยู่ทางเหนือมากกว่าละติจูดเหนือไม่ได้ |
computeDistanceBetween |
computeDistanceBetween(from, to[, radius]) พารามิเตอร์:
ค่าที่ส่งคืน:
number แสดงผลระยะทางเป็นเมตรระหว่าง LatLng 2 รายการ คุณระบุรัศมีที่กำหนดเองได้ (ไม่บังคับ) รัศมีเริ่มต้นคือรัศมีของโลก |
computeHeading |
computeHeading(from, to) พารามิเตอร์:
ค่าที่ส่งคืน:
number แสดงผลส่วนหัวจาก LatLng หนึ่งไปยังอีก LatLng หนึ่ง โดยหัวเรื่องจะแสดงเป็นองศาตามเข็มนาฬิกาจากทิศเหนือภายในช่วง [-180,180) |
computeLength |
computeLength(path[, radius]) พารามิเตอร์:
ค่าที่ส่งคืน:
number แสดงผลความยาวของเส้นทางที่ระบุ |
computeOffset |
computeOffset(from, distance, heading[, radius]) พารามิเตอร์:
ค่าที่ส่งคืน:
LatLng แสดงผล LatLng ที่เกิดจากการเคลื่อนที่จากจุดเริ่มต้นเป็นระยะทางในทิศทางที่ระบุ (แสดงเป็นองศาตามเข็มนาฬิกาจากทิศเหนือ) |
computeOffsetOrigin |
computeOffsetOrigin(to, distance, heading[, radius]) พารามิเตอร์:
ค่าที่ส่งคืน:
LatLng|null แสดงผลตำแหน่งต้นทางเมื่อระบุปลายทาง LatLng ระยะทางที่เดินทาง และการมุ่งหน้าเดิม โดยระบุทิศทางเป็นองศาตามเข็มนาฬิกาจากทิศเหนือ ฟังก์ชันนี้จะแสดงผล null เมื่อไม่มีคำตอบ |
computeSignedArea |
computeSignedArea(loop[, radius]) พารามิเตอร์:
ค่าที่ส่งคืน:
number แสดงผลพื้นที่ที่มีเครื่องหมายของเส้นทางปิด โดยที่ทวนเข็มนาฬิกาเป็นบวก ในช่วง [-2×pi×radius², 2×pi×radius²] พื้นที่ที่คำนวณใช้หน่วยเดียวกับรัศมี รัศมีจะตั้งค่าเริ่มต้นเป็นรัศมีของโลกในหน่วยเมตร ในกรณีนี้ พื้นที่จะเป็นหน่วยตารางเมตร พื้นที่คำนวณโดยใช้วิธีการเคลื่อนที่แบบขนาน การเคลื่อนที่แบบขนานรอบเส้นทางปิดบนทรงกลมหน่วยจะบิดเป็นมุมเท่ากับพื้นที่ที่เส้นทางล้อมรอบ วิธีนี้ง่ายกว่า แม่นยำกว่า และมีประสิทธิภาพมากกว่าการใช้การหาตำแหน่งโดยการวัดมุมโดยใช้ Girard, l'Huilier หรือ Eriksson ในแต่ละสามเหลี่ยม โดยเฉพาะอย่างยิ่ง เนื่องจากไม่ได้ใช้การหาค่าสามเหลี่ยม จึงไม่มีความไม่เสถียร ยกเว้นในกรณีที่หลีกเลี่ยงไม่ได้เมื่อขอบ (ไม่ใช่เส้นทแยงมุม) ของรูปหลายเหลี่ยมครอบคลุม 180 องศา |
interpolate |
interpolate(from, to, fraction) พารามิเตอร์:
ค่าที่ส่งคืน:
LatLng แสดงผล LatLng ซึ่งอยู่ระหว่าง LatLng ต้นทางกับ LatLng ปลายทางตามเศษส่วนที่ระบุ |
poly class
google.maps.geometry.poly
ชั้นเรียน
ฟังก์ชันยูทิลิตีสำหรับการคำนวณที่เกี่ยวข้องกับรูปหลายเหลี่ยมและเส้นหลายเส้น
เข้าถึงได้โดยโทรไปที่ const {poly} = await google.maps.importLibrary("geometry")
ดูไลบรารีใน Maps JavaScript API
เมธอดแบบคงที่ | |
---|---|
containsLocation |
containsLocation(point, polygon) พารามิเตอร์:
ค่าที่ส่งคืน:
boolean คำนวณว่าจุดที่กำหนดอยู่ภายในรูปหลายเหลี่ยมที่ระบุหรือไม่ |
isLocationOnEdge |
isLocationOnEdge(point, poly[, tolerance]) พารามิเตอร์:
ค่าที่ส่งคืน:
boolean คำนวณว่าจุดที่กำหนดอยู่บนหรือใกล้กับโพลีไลน์ หรือขอบของรูปหลายเหลี่ยมภายในค่าความคลาดเคลื่อนที่ระบุหรือไม่ ส่งคืน true เมื่อความแตกต่างระหว่างละติจูดและลองจิจูดของจุดที่ระบุกับจุดที่ใกล้ที่สุดบนขอบน้อยกว่าค่าความคลาดเคลื่อน ค่าเริ่มต้นของความคลาดเคลื่อนคือ 10-9 องศา |