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

GMSGeometryUtils

الصفوف

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

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

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

الدوال

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

وثائق Typedef

typedef struct GMSMapPoint GMSMapPoint

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

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

x في [-1، 1]. اتجاه المحور طبيعي: ينمو س باتجاه الشمال، وس ينمو باتجاه الشرق. (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] في المساحة المتوقعة.

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

BOOL GMSGeometryContainsLocation ( CLLocationCoordinate2D point.
GMSPath path،
بول الجيوديسية
)

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

يعتبر المسار مغلقًا دائمًا، بغض النظر عما إذا كانت النقطة الأخيرة تساوي الأولى أم لا.

والقطب الداخلي هو الذي لا يحتوي على القطب الجنوبي، والقطب الجنوبي هو خارجه دائمًا.

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

إذا كانت قيمة point تساوي أحد رأسَي القاعدة، تكون النتيجة YES. والنقطة التي لا تساوي الرأس هي على أحد جانبي أي مقطع مسار أو على الجانب الآخر من أي مقطع مسار، ولا يمكن أبدًا أن تكون "على الحد تمامًا".

راجِع GMSGeometryIsLocationOnPath() لاختبار الحدود مع مراعاة التسامح.

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D point.
GMSPath path،
بول الجيوديسية،
المسافة حسب CLLocation التسامح
)

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

تتكون path من مقاطع دائرية كبيرة إذا كانت قيمة geodesic هي "نعم"، ومن مقاطع دائرية (معتدلة) إذا كانت قيمة geodesic هي "لا".

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

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

BOOL GMSGeometryIsLocationOnPath ( CLLocationCoordinate2D point.
GMSPath path،
بول الجيوديسية
)

مثل GMSGeometryIsLocationOnPath(النقطة، المسار، الجيوديسية، التسامح)، مع مقدار تفاوت تلقائي يبلغ 0.1 متر.

المسافة حسب الموقع الجغرافي GMSGeometryDistance ( CLLocationCoordinate2D from،
CLLocationCoordinate2D إلى
)

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

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

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

CLLocationتباعد GMSGeometryLength ( GMSPath المسار)

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

هذا هو مجموع GMSGeometryDistance() فوق قطاعات المسار.

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

مزدوج GMSGeometryArea ( GMSPath المسار)

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

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

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

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

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

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

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

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

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

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

CLLocationDirection GMSGeometryHeading ( CLLocationCoordinate2D from،
CLLocationCoordinate2D إلى
)

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

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

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

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

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

CLLocationCoordinate2D GMSGeometryOffset ( CLLocationCoordinate2D from،
المسافة حسب CLLocation المسافة
CLLocationDirection heading
)

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

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

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

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

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

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

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath path،
NSArray< GMSStrokeStyle * > *  styles،
NSArray< NSNumber * > *  lengths،
GMSLengthKind lengthKind
)

تعرض مصفوفة NSArray من GMSStyleSpan تم إنشاؤها من خلال تكرار معلومات النمط والطول من styles وlengths على طول path.

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

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

 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< GMSStrokeStyle * > *  styles،
NSArray< NSNumber * > *  lengths،
GMSLengthKind lengthKind،
مزدوج lengthOffset
)

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

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