גושים

Classes (מחלקות) | Typedefs (Typedefs) | Functions
GMSGeometryUtils

כיתות

מבנהGMSMapPoint
 נקודה על המפה. עוד...

Typedefs

typedef struct GMSMapPointGMSMapPoint
 נקודה על המפה.

פונקציות

GMSMapPointGMSProject (קואורדינטת CLLocationManage2D)
 פרויקטים coordinate במפה.
ניהול צוותים ב-CLLocation2DGMSUnproject (נקודה GMSMapPoint)
 הסרת ההיט של point מהמפה.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, t כפול)
 מחזירה נקודה בעלת אינטרפולציה לינארית על הקטע [a, b], בשבר t מ-a.
כפולGMSMapPointDistance (GMSMapPoint א, GMSMapPoint ב)
 מחזירה את אורך הקטע [a, b] במרחב הצפוי.
בול (BOOL)GMSGeometryContainsLocation (נקודת CLLocationcoordinate2D, GMSPath *path, BOOL geodesic)
 הפונקציה מחזירה את הערך אם point נמצא בתוך הנתיב.
בול (BOOL)GMSGeometryIsLocationOnPathTolerance (נקודת CLLocationCampaigns2D, GMSPath *path, BOOL geodesic, סבילות ב-CLLocationמידת CLLocationמידת
 מחזירה אם point נמצא ב-path או בקרבתו, בטווח של tolerance במטרים.
בול (BOOL)GMSGeometryIsLocationOnPath (נקודת CLLocationcoordinate2D, GMSPath *path, BOOL geodesic)
 זהה ל-GMSGeometryIsLocationOnPath(נקודה, נתיב, גיאודזי, סובלנות), עם רמת סובלנות של 0.1 מטר כברירת מחדל.
CLLocation rangeGMSGeometryDistance (CLLocationcoordinate2D from, CLLocationcoordinate2D עד)
 מחזירה את מרחק המעגל הגדול בין שתי קואורדינטות, במטרים, על פני כדור הארץ.
CLLocation rangeGMSGeometryLength (נתיב GMSPath*)
 מחזירה את אורך המעגל הגדול של path במטרים על פני כדור הארץ.
כפולGMSGeometryArea (GMSPath *נתיב)
 מחזירה את השטח של מצולע גיאודזי שהוגדר על ידי path בכדור הארץ.
כפולGMSGeometrySignedArea (GMSPath *נתיב)
 מחזירה את השטח החתום של מצולע גיאודזי שהוגדר על ידי path בכדור הארץ.
CLLocationDirectionGMSGeometryHeading (CLLocation Campaigns2D from, CLLocation Campaigns2D to)
 הפונקציה מחזירה את הכותרת הראשונית (במעלות בכיוון השעון של הצפון) ב-from של הנתיב הקצר ביותר אל to.
ניהול צוותים ב-CLLocation2DGMSGeometryOffset (CLLocationהאם 2D from, CLLocation אבטחה מרחק, CLLocationDirection כותרת)
 מחזירה את קואורדינטת היעד, כאשר היא מתחילה ב-from עם הערך הראשוני heading, במסלול של distance מטרים בקשת מעגל גדולה על פני כדור הארץ.
ניהול צוותים ב-CLLocation2DGMSGeometryInterpolate (CLLocationהנה2D from, 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, double lengthOffset)
 דומה ל-GMSStyleSpans(path,style, lengths, lengthKind), אבל בנוסף לכך, קיזוז אורך התחלתי שידלג עליו ביחס למערך lengths.

תיעוד Typedef

typedef struct GMSMapPoint GMSMapPoint

נקודה על המפה.

יכול לייצג קואורדינטה צפויה.

x הוא ב-[-1, 1]. כיוון הציר רגיל: y גדל לכיוון צפון, x גדל לכיוון מזרח. (0, 0) הוא מרכז המפה.

למידע נוסף: GMSProject() ו-GMSUnproject().


תיעוד הפונקציה

GMSMapPoint GMSProject ( ניהול צוותים ב-CLLocation2D קואורדינטות)

פרויקטים coordinate במפה.

הערך coordinate חייב להיות חוקי.

GMSUnproject CLLocation Activate2D ( GMSMapPoint נקודה)

הסרת ההיט של point מהמפה.

נקודה.x חייבת להיות ב-[-1, 1].

מחזירה נקודה בעלת אינטרפולציה לינארית על הקטע [a, b], בשבר t מ-a.

t==0 תואם את a, t==1 תואם את b.

האינטרפולציה מתבצעת לאורך הנתיב הקצר בין הנקודות שעשויות לעבור את קו התאריך. לדוגמה, האינטרפולציה מסן פרנסיסקו לטוקיו תעבור צפונית להוואי ויעבור את קו התאריך.

ערך כפול של GMSMapPointDistance ( GMSMapPoint a,
GMSMapPoint b
)

מחזירה את אורך הקטע [a, b] במרחב הצפוי.

האורך מחושב לאורך הנתיב הקצר בין הנקודות שעשויות לעבור את קו התאריך. לדוגמה, המרחק בין הנקודות המתאימות לסן פרנסיסקו לבין טוקיו מודד את הקטע שעובר מצפון להוואי וחוצה את קו התאריכים.

בול GMSGeometryContainsLocation ( ניהול צוותים ב-CLLocation2D point,
GMSPath path,
בול (BOOL) גיאודזי
)

הפונקציה מחזירה את הערך אם point נמצא בתוך הנתיב.

הנתיב תמיד נחשב סגור, גם אם הנקודה האחרונה היא הנקודה הראשונה וגם אם לא.

בפנים מוגדר כי הוא לא מכיל את הקוטב הדרומי – הקוטב הדרומי תמיד נמצא בחוץ.

path מתאר מקטעים של מעגלים גדולים אם geodesic הוא YES (כן), ומקטעים של rhumb (לוקסודרום) בצורה אחרת.

אם point שווה בדיוק לאחד מהקודקודים, התוצאה תהיה YES (כן). נקודה שאינה שווה לקודקוד נמצאת בצד אחד או בצד אחר של קטע נתיב כלשהו – היא לעולם לא יכולה להיות "בדיוק על הגבול".

אפשר לעיין במאמר GMSGeometryIsLocationOnPath() כדי לבצע בדיקת גבולות בסובלנות.

BOOL GMSGeometryIsLocationOnPathTolerance ( ניהול צוותים ב-CLLocation2D point,
GMSPath path,
בול (BOOL) geodesic,
CLLocation range סובלנות
)

מחזירה אם point נמצא ב-path או בקרבתו, בטווח של tolerance במטרים.

path מורכב מקטעי מעגל גדולים אם geodesic הוא 'כן', ומקטעי מעוגלים (לוקסודרום) אם geodesic הוא NO.

למידע נוסף, ניתן לעיין גם ב-GMSGeometryIsLocationOnPath(point, path, geodesic).

הסבילות במטרים נמדדת ביחס לרדיוס הכדורי של כדור הארץ. אם עליך לעבוד על כדור ברדיוס שונה, תוכל לחשב את הסובלות המקבילה מהסובלנות הרצויה בתחום הרדיוס R: tolerance = toleranceR * (RadiusEarth / R), באמצעות RadiusEarth==6371009.

BOOL GMSGeometryIsLocationOnPath ( ניהול צוותים ב-CLLocation2D point,
GMSPath path,
בול (BOOL) גיאודזי
)

זהה ל-GMSGeometryIsLocationOnPath(נקודה, נתיב, גיאודזי, סובלנות), עם רמת סובלנות של 0.1 מטר כברירת מחדל.

GMSGeometryDistance ( ניהול צוותים ב-CLLocation2D from [מאת]
ניהול צוותים ב-CLLocation2D עד
)

מחזירה את מרחק המעגל הגדול בין שתי קואורדינטות, במטרים, על פני כדור הארץ.

זהו המרחק הקצר ביותר בין שתי הקואורדינטות בספירה.

שתי הקואורדינטות חייבות להיות חוקיות.

CLLocationur GMSGeometryLength (אורך מלא) ( GMSPath נתיב)

מחזירה את אורך המעגל הגדול של path במטרים על פני כדור הארץ.

זה הסכום של GMSGeometryDistance() מעל קטעי הנתיב.

כל נקודות הציון של הנתיב חייבות להיות חוקיות.

שני GMSGeometryArea ( GMSPath נתיב)

מחזירה את השטח של מצולע גיאודזי שהוגדר על ידי path בכדור הארץ.

ה "פנים" של הפוליגון מוגדר כלא מכיל את הקוטב הדרומי.

אם path לא סגור, הוא יטופל באופן לא מפורש כנתיב סגור ובכל זאת והתוצאה זהה.

כל נקודות הציון של הנתיב חייבות להיות חוקיות.

הפוליגון חייב להיות פשוט (לא חופפים) ויכול להיות קעור.

אם קטע כלשהו בנתיב הוא צמד של נקודות נגד רגליים, התוצאה אינה מוגדרת - מפני ששתי נקודות נגד רגליים לא יוצרות פלח ייחודי של מעגל גדול בספירה.

ערך כפול של GMSGeometrySignedArea ( GMSPath נתיב)

מחזירה את השטח החתום של מצולע גיאודזי שהוגדר על ידי path בכדור הארץ.

לתוצאה יש ערך מוחלט זהה לזה של GMSGeometryArea(). יכול להיות שיהיו חיוביים אם נקודות הנתיב יהיו בסדר נגד כיוון השעון. אחרת, תתקבל תוצאה שלילית.

חלות אותן הגבלות כמו ב-GMSGeometryArea()

CLLocationDirection GMSGeometryHeading ( ניהול צוותים ב-CLLocation2D from [מאת]
ניהול צוותים ב-CLLocation2D עד
)

הפונקציה מחזירה את הכותרת הראשונית (במעלות בכיוון השעון של הצפון) ב-from של הנתיב הקצר ביותר אל to.

הערך המוחזר נמצא בטווח [0, 360).

מחזירה 0 אם שתי הקואורדינטות זהות.

שתי הקואורדינטות חייבות להיות חוקיות.

כדי לקבל את הכותרת הסופית ב-to, אפשר להשתמש במודול 360 (GMSGeometryיעדים(אל from) + 180.

GMSGeometryOffset ב-CLLocation ( ניהול צוותים ב-CLLocation2D from [מאת]
CLLocation range מרחק,
CLLocationDirection heading [כותרת]
)

מחזירה את קואורדינטת היעד, כאשר היא מתחילה ב-from עם הערך הראשוני heading, במסלול של distance מטרים בקשת מעגל גדולה על פני כדור הארץ.

קו האורך שמתקבל הוא בטווח של [180, 180-).

שתי הקואורדינטות חייבות להיות חוקיות.

CLLocationLocation2D GMSGeometryInterpolate ( ניהול צוותים ב-CLLocation2D from [מאת]
ניהול צוותים ב-CLLocation2D עד,
כפול שבר
)

מחזירה את הקואורדינטה שעומדת על ה-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 (גיאודזי, rhumb או מצופה).

דוגמה: קו פוליגוני עם מתחים מתחלפים בצבעי שחור ולבן:

 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,style, lengths, lengthKind), אבל בנוסף לכך, קיזוז אורך התחלתי שידלג עליו ביחס למערך lengths.

lengthOffset האורך (במטרים) שצריך לדלג עליו בהתחלה מ-lengths.