encoding namespace
google.maps.geometry.encoding
เนมสเปซ
ยูทิลิตีสําหรับการเข้ารหัสและการถอดรหัสรูปหลายเส้น
เข้าถึงโดยการโทรหา const {encoding} = await google.maps.importLibrary("geometry")
โปรดดูไลบรารีใน Maps JavaScript API
เมธอดแบบคงที่ | |
---|---|
decodePath |
decodePath(encodedPath) พารามิเตอร์:
ถอดรหัสสตริงเส้นทางที่เข้ารหัสเป็นลําดับ LatLng |
encodePath |
encodePath(path) พารามิเตอร์:
ผลลัพธ์:
string เข้ารหัสลําดับ LatLng เป็นสตริงเส้นทางที่เข้ารหัส |
spherical เนมสเปซ
google.maps.geometry.spherical
เนมสเปซ
ฟังก์ชันยูทิลิตีสําหรับคํานวณมุม ระยะทาง และพื้นที่ตามแนวเส้นบอกทาง รัศมีเริ่มต้นคือรัศมีของโลก 6378137 เมตร
เข้าถึงโดยการโทรหา const {spherical} = await google.maps.importLibrary("geometry")
โปรดดูไลบรารีใน Maps JavaScript API
เมธอดแบบคงที่ | |
---|---|
computeArea |
computeArea(path[, radiusOfSphere]) พารามิเตอร์:
ผลลัพธ์:
number แสดงผลพื้นที่แบบไม่ลงนามของเส้นทางปิดในช่วง [0, 2×pi×รัศมี²] โดยพื้นที่ที่คำนวณจะใช้หน่วยเดียวกับรัศมี radiusOfSphere จะมีค่าเริ่มต้นเป็นรัศมีของโลกเป็นเมตร ซึ่งในกรณีนี้พื้นที่จะเป็นตารางเมตร การส่ง Circle กำหนดให้ต้องตั้งค่า radius เป็นค่าที่ไม่ใช่ค่าลบ นอกจากนี้ วงกลมต้องไม่ครอบคลุมพื้นผิวทรงกลมเกิน 100% และเมื่อส่ง LatLngBounds ทางทิศใต้ LatLng ต้องไม่อยู่ทางเหนือกว่า LatLng ทางเหนือ |
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×รัศมี², 2×pi×รัศมี²] พื้นที่ที่คำนวณได้จะใช้หน่วยเดียวกับรัศมี รัศมีเริ่มต้นคือรัศมีของโลกเป็นเมตร ซึ่งในกรณีนี้พื้นที่จะเป็นตารางเมตร ระบบจะคำนวณพื้นที่โดยใช้วิธีการการขนส่งแบบขนาน ซึ่งการขนส่งแบบขนานรอบเส้นทางปิดบนทรงกลมหน่วยจะบิดด้วยมุมที่เท่ากับพื้นที่ที่เส้นทางล้อมรอบ วิธีนี้ง่ายกว่า แม่นยำกว่า และมีประสิทธิภาพมากกว่าการหาพิกัดโดยการหาสามเหลี่ยมโดยใช้ Girard, l'Huilier หรือ Eriksson ในสามเหลี่ยมแต่ละรูป โดยเฉพาะอย่างยิ่ง เนื่องจากไม่มีการแบ่งรูปหลายเหลี่ยมเป็นสามเหลี่ยม จึงไม่มีความไม่เสถียร ยกเว้นในกรณีที่หลีกเลี่ยงไม่ได้เมื่อขอบ (ไม่ใช่เส้นทแยงมุม) ของรูปหลายเหลี่ยมครอบคลุม 180 องศา |
interpolate |
interpolate(from, to, fraction) พารามิเตอร์:
ผลลัพธ์:
LatLng แสดงผล LatLng ที่อยู่ตรงส่วนของเส้นทางระหว่าง LatLng ต้นทางกับ LatLng ปลายทางตามส่วนที่ระบุ |
poly namespace
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 องศา |