Geometry Library

การเข้ารหัส เนมสเปซ

google.maps.geometry.encoding เนมสเปซ

ยูทิลิตีสำหรับการเข้ารหัสและถอดรหัสโพลีไลน์

เข้าถึงโดยโทรไปที่ const {encoding} = await google.maps.importLibrary("geometry") ดูไลบรารีใน Maps JavaScript API

decodePath
decodePath(encodedPath)
พารามิเตอร์: 
  • encodedPathstring
ค่าที่ส่งคืน:  Array<LatLng>
ถอดรหัสสตริงเส้นทางที่เข้ารหัสเป็นลำดับละติจูดและลองจิจูด
encodePath
encodePath(path)
พารามิเตอร์: 
ค่าที่ส่งคืน:  string
เข้ารหัสลำดับ LatLngs เป็นสตริงเส้นทางที่เข้ารหัส

เนมสเปซ เนมสเปซ

google.maps.geometry.spherical เนมสเปซ

ฟังก์ชันยูทิลิตีสำหรับการคำนวณมุมทางภูมิศาสตร์ ระยะทาง และพื้นที่ รัศมีเริ่มต้นคือรัศมีของโลกที่ 6378137 เมตร

เข้าถึงโดยโทรไปที่ const {spherical} = await google.maps.importLibrary("geometry") ดูไลบรารีใน Maps JavaScript API

computeArea
computeArea(path[, radiusOfSphere])
พารามิเตอร์: 
ค่าที่ส่งคืน:  number
แสดงผลพื้นที่ที่ไม่มีเครื่องหมายของเส้นทางปิด ในช่วง [0, 2×pi×ตามรัศมี2] พื้นที่ที่คำนวณใช้หน่วยเดียวกันกับรัศมี radiusOfSphere ค่าเริ่มต้นคือรัศมีของโลก หน่วยเป็นเมตร ซึ่งในกรณีนี้ พื้นที่จะมีหน่วยเป็นตารางเมตร การส่ง Circle กำหนดให้ต้องตั้งค่า radius เป็นค่าที่ไม่ติดลบ นอกจากนี้ วงกลมจะต้องไม่ครอบคลุมเกิน 100% ของทรงกลม และเมื่อผ่าน LatLngBounds ละติจูดและลองจิจูดทางตอนใต้จะต้องไม่ยาวเกินกว่า LatLng ทางตอนเหนือ
computeDistanceBetween
computeDistanceBetween(from, to[, radius])
พารามิเตอร์: 
ค่าที่ส่งคืน:  number
แสดงผลระยะทางเป็นเมตรระหว่างละติจูดและลองจิจูด 2 เส้น หรือคุณจะระบุรัศมีที่กำหนดเองก็ได้ รัศมีจะมีค่าเริ่มต้นเป็นรัศมีโลก
computeHeading
computeHeading(from, to)
พารามิเตอร์: 
ค่าที่ส่งคืน:  number
แสดงส่วนหัวจาก LatLng ไปยัง LatLng อีกเส้นหนึ่ง ส่วนหัวจะแสดงเป็นองศาตามเข็มนาฬิกาจากทิศเหนือภายในช่วง [-180,180)
computeLength
computeLength(path[, radius])
พารามิเตอร์: 
ค่าที่ส่งคืน:  number
แสดงผลความยาวของเส้นทางที่ระบุ
computeOffset
computeOffset(from, distance, heading[, radius])
พารามิเตอร์: 
ค่าที่ส่งคืน:  LatLng
แสดงผลละติจูดและลองจิจูดที่ได้จากการเคลื่อนที่จากต้นทางในส่วนหัวที่ระบุ (แสดงในหน่วยองศาตามเข็มนาฬิกาจากทิศเหนือ)
computeOffsetOrigin
computeOffsetOrigin(to, distance, heading[, radius])
พารามิเตอร์: 
ค่าที่ส่งคืน:  LatLng|null
แสดงผลตำแหน่งของต้นทางเมื่อระบุปลายทาง LatLng, เมตรที่เดินทาง และส่วนหัวเดิม ส่วนหัวจะแสดงเป็นองศาตามเข็มนาฬิกาจากทิศเหนือ ฟังก์ชันนี้แสดงผล null เมื่อไม่มีโซลูชัน
computeSignedArea
computeSignedArea(loop[, radius])
พารามิเตอร์: 
ค่าที่ส่งคืน:  number
แสดงผลพื้นที่ที่ลงนามของเส้นทางปิด ซึ่งทวนเข็มนาฬิกาเป็นค่าบวกในช่วง [-2×pi×Radi2, 2×pi×Radi2] พื้นที่ที่คำนวณแล้วใช้หน่วยเดียวกับรัศมี ค่าเริ่มต้นของรัศมีจะเป็นรัศมีโลกในหน่วยเมตร ซึ่งในกรณีนี้พื้นที่จะมีหน่วยเป็นตารางเมตร

พื้นที่ดังกล่าวจะคำนวณโดยใช้วิธีการคมนาคมแบบขนาน การคมนาคมแบบขนานรอบเส้นทางปิดบนหน่วยทรงกลมจะบิดเป็นมุมที่เท่ากับพื้นที่ซึ่งล้อมรอบด้วยเส้นทางนั้น วิธีนี้ง่าย แม่นยำ และมีประสิทธิภาพกว่าการใช้รูปสามเหลี่ยมโดยใช้ Girard, l'Huilier หรือ Eriksson กับรูปสามเหลี่ยมแต่ละรูป โดยเฉพาะอย่างยิ่ง เนื่องจากเส้นจะไม่บิดเบี้ยว จึงไม่มีความไม่เสถียร ยกเว้นในกรณีที่หลีกเลี่ยงไม่ได้เมื่อขอบ (ไม่ใช่แนวทแยงมุม) ของรูปหลายเหลี่ยมครอบคลุม 180 องศา
interpolate
interpolate(from, to, fraction)
พารามิเตอร์: 
ค่าที่ส่งคืน:  LatLng
แสดงผล LatLng ซึ่งแสดงเศษส่วนที่ระบุระหว่าง LatLng ต้นทางและ LatLng ปลายทาง

poly เนมสเปซ

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 องศา