مؤشر المنطقة الجغرافية

GMSGeometryUtils

صفوف

إنشاءGMSMapPoint
 نقطة على الخريطة المزيد...

تعريف الأنواع

typedef struct GMSMapPointGMSMapPoint
 نقطة على الخريطة

الدوال

GMSMapPointGMSProject (إحداثي CLLocationCoordinate2D)
 عرض coordinate على الخريطة.
دالة CLLocationCoordinate2DGMSUnproject (نقطة GMSMapPoint)
 إلغاء مشاريع point من الخريطة.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, مزدوج t)
 عرض نقطة مستقراءة خطيًا في المقطع [a, b]، عند الكسر t من a.
مزدوجGMSMapPointDistance (GMSMapPointGMSMapPoint b)
 لعرض طول الجزء [a, b] في المساحة المتوقعة.
قيمة منطقيةGMSGeometryContainsLocation (نقطة CLLocationCoordinate2D، وGMSPath *مسار، وBOOL geodesic)
 يعرض ما إذا كان point يقع داخل المسار.
قيمة منطقيةGMSGeometryIsLocationOnPathTolerance (نقطة CLLocationCoordinate2D، وGMSPath *والمسار، BOOL geodesic، وCLLocation المسافة)
 لعرض ما إذا كان point يقع في path أو بالقرب منه، في نطاق tolerance المحدد بالأمتار.
قيمة منطقيةGMSGeometryIsLocationOnPath (نقطة CLLocationCoordinate2D، وGMSPath *والمسار، BOOL geodesic)
 مثل GMSGeometryIsLocationOnPath(point, path, geodesic, tolerance)، مع تفاوت تلقائي يبلغ 0.1 متر.
CLLocationDistanceGMSGeometryDistance (CLLocationCoordinate2D من، CLLocationCoordinate2D إلى)
 لعرض مسافة الدائرة الكبيرة بين إحداثيتين، بالمتر، على Earth.
CLLocationDistanceGMSGeometryLength (GMSPath *مسار)
 لعرض طول الدائرة الكبير path بالمتر على الأرض.
مزدوجGMSGeometryArea (GMSPath *مسار)
 تعرض مساحة مضلّع جيوديسي محدّد بواسطة path على Earth.
مزدوجGMSGeometrySignedArea (GMSPath *مسار)
 تعرض المنطقة الموقَّعة لمضلّع جيوديسي تم تحديده من خلال path على Earth.
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D من، CLLocationCoordinate2D إلى)
 عرض العنوان الأولي (بالدرجات في اتجاه عقارب الساعة من الشمال) عند from من أقصر مسار إلى to.
دالة CLLocationCoordinate2DGMSGeometryOffset (CLLocationCoordinate2D من، مسافة CLLocation التعرُّف، عنوان CLLocationDirection)
 يتم عرض إحداثي الوجهة عند البدء في from بأول heading، مع الانتقال بمقدار distance متر على قوس دائري كبير على الأرض.
دالة CLLocationCoordinate2DGMSGeometryInterpolate (CLLocationCoordinate2D من، CLLocationCoordinate2D إلى كسر مزدوج)
 لعرض الإحداثي الذي يقع في fraction المحدد بين إحداثيات from وto على أقصر مسار بينهما.
NSArray&lt; GMSStyleSpan * > *GMSStyleSpans (GMSPath *مسار, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind)
 تعرض NSArray لـ GMSStyleSpan تم إنشاؤها من خلال التطبيق المتكرر لمعلومات النمط والطول من styles وlengths على path.
NSArray&lt; GMSStyleSpan * > *GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind, Double lengthOffset)
 على غرار GMSStyleSpans(path, terms, lengths, lengthKind)، ولكن بالإضافة إلى ذلك، تأخذ إزاحة أولية للطول يتم تخطّيها بالنسبة إلى المصفوفة lengths.

وثائق Typedef

هيكل typedef GMSMapPoint GMSMapPoint

نقطة على الخريطة

قد يمثل إحداثيات متوقعة.

x في [-1، 1]. اتجاه المحور طبيعي: تنمو ص باتجاه الشمال، بينما تنمو x باتجاه الشرق. (0، 0) هو مركز الخريطة.

راجِع GMSProject() وGMSUnproject().


وثائق الدوال

GMSMapPoint GMSProject ( دالة CLLocationCoordinate2D الإحداثيات)

عرض coordinate على الخريطة.

يجب أن تكون السمة coordinate صالحة.

CLLocationCoordinate2D GMSUnproject ( GMSMapPoint نقطة)

إلغاء مشاريع point من الخريطة.

يجب أن تكون النقطة (point.x) في [ -1, 1].

عرض نقطة مستقراءة خطيًا في المقطع [a, b]، عند الكسر t من a.

t==0 يتجاوب مع a، t==1 يتجاوب مع b.

تتم عملية الاستكمال على طول المسار القصير بين النقاط التي يُحتمل أن تتجاوز خط التاريخ. مثلاً: الاستقراء الداخلي من سان فرانسيسكو إلى طوكيو سوف يمر شمال هاواي ويعبر خط التاريخ.

لعرض طول الجزء [a, b] في المساحة المتوقعة.

يتم حساب الطول على طول المسار القصير بين النقاط التي يُحتمل أن تتجاوز خط التاريخ. مثلاً: تقيس المسافة بين النقطتين المقابلتين سان فرانسيسكو وطوكيو الجزء الذي يمر شمال هاواي ويعبر خط التاريخ.

منطقية GMSGeometryContainsLocation ( دالة CLLocationCoordinate2D النقطة
GMSPath * path،
قيمة منطقية جيوديسية
)

يعرض ما إذا كان point يقع داخل المسار.

يُعتبَر المسار دائمًا مغلقًا، بصرف النظر عمّا إذا كانت النقطة الأخيرة تساوي أول نقطة أم لا.

يُعرف الجزء الداخلي على أنّه لا يحتوي على القطب الجنوبي، ولكنّ القطب الجنوبي يكون بالخارج دائمًا.

تصف السمة path أجزاء الدائرة الكبيرة إذا كانت القيمة geodesic هي "نعم"، والأجزاء ذات الريمكسات (loxodromic) بخلاف ذلك.

إذا كانت point تساوي تمامًا أحد رؤوس الزوايا، فإن النتيجة هي نعم. توجد نقطة لا تساوي رأسًا على جانب واحد أو الآخر من أي جزء مسار - ولا يمكن أبدًا أن تكون "بالضبط على الحد".

راجع GMSGeometryIsLocationOnPath() لإجراء اختبار حدود باستخدام مقدار التفاوت.

القيمة المنطقية GMSGeometryIsLocationOnPathTolerance ( دالة CLLocationCoordinate2D النقطة
GMSPath * path،
قيمة منطقية geodesic،
CLLocationDistance التسامح
)

لعرض ما إذا كان point يقع في path أو بالقرب منه، في نطاق tolerance المحدد بالأمتار.

تتكون path من قطاعات دائرة كبيرة إذا كانت geodesic هي YES، ومن الأجزاء غير اللاصقة (الملتوية) إذا كانت geodesic NO.

راجِع أيضًا GMSGeometryIsLocationOnPath(point, path, geodesic).

ويختلف نطاق التفاوت بالمتر عن نصف القطر الكروي للأرض. إذا كنت بحاجة إلى العمل على كرة ذات نصف قطر مختلف، يمكنك حساب مقدار التفاوت المكافئ من مقدار التفاوت المطلوب في مجال نصف القطر R: التفاوت = toleranceR * (Radius Earth / R)، مع Radius Earth==6371009.

القيمة المنطقية GMSGeometryIsLocationOnPath ( دالة CLLocationCoordinate2D النقطة
GMSPath * path،
قيمة منطقية جيوديسية
)

مثل GMSGeometryIsLocationOnPath(point, path, geodesic, tolerance)، مع تفاوت تلقائي يبلغ 0.1 متر.

CLLocationمسافة GMSGeometryDistance ( دالة CLLocationCoordinate2D من،
دالة CLLocationCoordinate2D إلى
)

لعرض مسافة الدائرة الكبيرة بين إحداثيتين، بالمتر، على Earth.

هذه هي أقصر مسافة بين الإحداثيات على الكرة.

يجب أن تكون كلتا الإحداثيتين صالحتين.

CLLocationمسافة GMSGeometryLength ( GMSPath * المسار)

لعرض طول الدائرة الكبير path بالمتر على الأرض.

هذا هو مجموع GMSGeometryDistance() على أجزاء المسار.

يجب أن تكون جميع إحداثيات المسار صالحة.

ضعف GMSGeometryArea ( GMSPath * المسار)

تعرض مساحة مضلّع جيوديسي محدّد بواسطة path على Earth.

"الداخل" المضلّع لا يحتوي على القطب الجنوبي.

إذا لم يتم إغلاق path، يتم التعامل معه ضمنيًا على أنّه مسار مغلق على الرغم من ذلك، وتكون النتيجة هي نفسها.

يجب أن تكون جميع إحداثيات المسار صالحة.

يجب أن يكون المضلّع بسيطًا (غير متداخل ذاتيًا) وقد يكون مقعرًا.

إذا كان أي جزء من المسار عبارة عن زوج من النقاط المضادة للضوء، تكون النتيجة غير محددة -- لأن نقطتي الأضلاع لا تشكلان قطعة فريدة للدائرة الكبيرة على الكرة.

مزدوجة GMSGeometrySignedArea ( GMSPath * المسار)

تعرض المنطقة الموقَّعة لمضلّع جيوديسي تم تحديده من خلال path على Earth.

تكون للنتيجة القيمة المطلقة نفسها مثل GMSGeometryArea()؛ يكون موجبة إذا كانت نقاط المسار بترتيب عكس عقارب الساعة، وسالبة بخلاف ذلك.

تنطبق القيود نفسها التي تنطبق على GMSGeometryArea().

CLLocationDirection GMSGeometryHeading ( دالة CLLocationCoordinate2D من،
دالة CLLocationCoordinate2D إلى
)

عرض العنوان الأولي (بالدرجات في اتجاه عقارب الساعة من الشمال) عند from من أقصر مسار إلى to.

تقع القيمة المعروضة في النطاق [0, 360).

تعرض 0 إذا كانت الإحداثيات متطابقة.

يجب أن تكون كلتا الإحداثيتين صالحتين.

للحصول على العنوان النهائي في to، يمكن للمرء استخدام (GMSGeometryHeading(to, from) + 180) modulo 360.

CLLocationCoordinate2D GMSGeometryOffset ( دالة CLLocationCoordinate2D من،
CLLocationDistance المسافة،
CLLocationDirection العنوان
)

لعرض إحداثي الوجهة، عند البدء في from بحرف heading، مع السفر لمسافة distance متر على قوس دائري كبير، على الأرض.

خط الطول الناتج يقع في النطاق [ -180، 180).

يجب أن تكون كلتا الإحداثيتين صالحتين.

CLLocationCoordinate2D GMSGeometryInterpolate ( دالة CLLocationCoordinate2D من،
دالة CLLocationCoordinate2D إلى،
مزدوج كسر
)

لعرض الإحداثي الذي يقع في fraction المحدد بين الإحداثيي from وto على أقصر مسار بينهما.

خط الطول الناتج يقع في النطاق [ -180، 180).

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath * path،
NSArray&lt; GMSStrokeStyle * > * الأنماط،
NSArray&lt; NSNumber * > * lengths،
GMSLengthKind lengthKind
)

تعرض NSArray لـ GMSStyleSpan تم إنشاؤها من خلال التطبيق المتكرر لمعلومات النمط والطول من styles وlengths على path.

path المسار الذي يتم حساب امتدادات الإخراج على طوله. styles NSArray لـ GMSStrokeStyle لفائف عند استهلاكها. لا يمكن أن يكون هذا الحقل فارغًا. lengths NSArray لـ NSNumber؛ حيث يعطي كل إدخال طول النمط المقابل من styles. لفائف عند استهلاكها. لا يمكن أن يكون هذا الحقل فارغًا. lengthKind تفسير القيم من lengths (الجيوديسية أو Rالهوم أو المتوقعة)

مثال: خط متعدد بامتدادات متبادلة بالأبيض والأسود:

 GMSMutablePath *path;
 NSArray *styles = @[[GMSStrokeStyle solidColor:[UIColor whiteColor]],
                     [GMSStrokeStyle solidColor:[UIColor blackColor]]];
 NSArray *lengths = @[@100000, @50000];
 polyline.path = path;
 polyline.spans = GMSStyleSpans(path, styles, lengths, kGMSLengthRhumb);
 
NSArray<GMSStyleSpan *>* GMSStyleSpansOffset ( GMSPath * path،
NSArray&lt; GMSStrokeStyle * > * الأنماط،
NSArray&lt; NSNumber * > * lengths،
GMSLengthKind lengthKind,
مزدوج lengthOffset
)

على غرار GMSStyleSpans(path, terms, lengths, lengthKind)، ولكن بالإضافة إلى ذلك، تأخذ إزاحة أولية للطول يتم تخطّيها بالنسبة إلى المصفوفة lengths.

lengthOffset الطول (على سبيل المثال بالأمتار) الذي يجب تخطّيه في البداية من lengths.