Geometry Library

encoding namespace

namespace google.maps.geometry.encoding
library "geometry"

أدوات مساعدة لترميز الخطوط المتعدّدة وفك ترميزها

const {encoding} = await google.maps.importLibrary("geometry");
decodePath
decodePath(encodedPath)
المَعلمات:
  • encodedPath: string
القيمة المعروضة: Array<LatLng>
تفكّ ترميز سلسلة مسار مرمّزة إلى تسلسل من LatLngs.
encodePath
encodePath(path)
المَعلمات:
القيمة المعروضة: string
ترميز تسلسل من LatLngs في سلسلة مسار مرمّزة.

مساحة الاسم spherical

namespace google.maps.geometry.spherical
library "geometry"

دوال خدمية لحساب الزوايا والمسافات والمساحات الجيوديسية نصف القطر التلقائي هو نصف قطر الأرض الذي يبلغ 6378137 مترًا.

const {spherical} = await google.maps.importLibrary("geometry");
computeArea
computeArea(path[, radiusOfSphere])
المَعلمات:
القيمة المعروضة: number
تعرض هذه الدالة المساحة غير الموقَّعة لمسار مغلق، في النطاق [0, 2×pi×radius²]. تستخدم المساحة المحسوبة الوحدات نفسها المستخدَمة في نصف القطر. يتم ضبط radiusOfSphere تلقائيًا على نصف قطر الأرض بالأمتار، وفي هذه الحالة تكون المساحة بالمتر المربّع. يتطلّب تمرير Circle ضبط radius على قيمة غير سالبة. بالإضافة إلى ذلك، يجب ألا تغطي الدائرة أكثر من% 100 من الكرة. وعند تمرير LatLngBounds، لا يمكن أن يكون خط العرض/خط الطول الجنوبي في الشمال أكثر من خط العرض/خط الطول الشمالي.
computeDistanceBetween
computeDistanceBetween(from, to[, radius])
المَعلمات:
القيمة المعروضة: number
لعرض المسافة بالأمتار بين نقطتَي LatLng يمكنك تحديد نطاق جغرافي مخصّص، إذا أردت. يتم ضبط نصف القطر تلقائيًا على نصف قطر الأرض.
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²]. تستخدم المساحة المحسوبة الوحدات نفسها المستخدَمة في نصف القطر. يتم ضبط نصف القطر تلقائيًا على نصف قطر الأرض بالأمتار، وفي هذه الحالة تكون المساحة بالمتر المربّع.

يتم احتساب المساحة باستخدام طريقة النقل الموازي، حيث يلتف النقل الموازي حول مسار مغلق على كرة الوحدة بزاوية تساوي المساحة التي يحيط بها المسار. هذه الطريقة أبسط وأكثر دقة وفعالية من التثليث باستخدام صيغ "جيرارد" أو "لويلير" أو "إريكسون" على كل مثلّث. على وجه الخصوص، بما أنّها لا تستخدم التثليث، فهي لا تعاني من عدم الاستقرار إلا في الحالة التي لا يمكن تجنّبها عندما يمتد ضلع (وليس قطرًا) من المضلّع بزاوية 180 درجة.
interpolate
interpolate(from, to, fraction)
المَعلمات:
القيمة المعروضة: LatLng
تعرض هذه الدالة LatLng الذي يقع في الجزء المحدّد من المسافة بين LatLng نقطة الانطلاق وLatLng الوجهة.
AlphatraversePath
traversePath(path, fraction)
المَعلمات:
القيمة المعروضة: LatLngLiteral
تعرض هذه الدالة الموضع الذي يقع فيه الجزء المحدّد من المسار المحدّد. في حال تمرير عناصر LatLngAltitude، يتم تجاهل الارتفاع حاليًا، ولكن قد تأخذ الإصدارات المستقبلية الارتفاع في الاعتبار.

مساحة الاسم poly

namespace google.maps.geometry.poly
library "geometry"

دوال خدمية للعمليات الحسابية التي تتضمّن مضلّعات وخطوطًا متعدّدة

const {poly} = await google.maps.importLibrary("geometry");
containsLocation
containsLocation(point, polygon)
المَعلمات:
القيمة المعروضة: boolean
تحسب ما إذا كانت النقطة المحدّدة تقع داخل المضلّع أو الدائرة المحدّدة. يتطلّب تمرير Circle ضبط center وضبط radius على قيمة غير سالبة.
isLocationOnEdge
isLocationOnEdge(point, poly[, tolerance])
المَعلمات:
القيمة المعروضة: boolean
تحسب هذه الدالة ما إذا كانت النقطة المحدّدة تقع على خط متعدّد أو بالقرب منه، أو على حافة مضلّع، ضمن نطاق تفاوت محدّد. تعرض الدالة true عندما يكون الفرق بين خط العرض وخط الطول للنقطة المحدّدة وأقرب نقطة على الحافة أقل من قيمة التفاوت المسموح به. القيمة التلقائية للتفاوت هي 10-9 درجة.