GMSGeometryUtils

GMSGeometryUtils

کلاس ها

ساخت GMSMapPoint
یک نقطه روی نقشه بیشتر...

Typedefs

typedef struct GMSMapPoint GMSMapPoint
یک نقطه روی نقشه

کارکرد

GMSMapPoint GMSProject (CLLocationCoordinate2D مختصات)
پروژه ها با نقشه coordinate .
CLLlocationCoordinate2D GMSUnproject (نقطه GMSMapPoint )
point از نقشه خارج می کند.
GMSMapPoint GMSMapPointInterpolate ( GMSMapPointGMSMapPoint b، t double)
یک نقطه درون یابی شده خطی در قطعه [a, b]، در کسری t از a را برمی‌گرداند.
دو برابر GMSMapPointDistance ( GMSMapPointGMSMapPoint b)
طول پاره [a, b] را در فضای پیش بینی شده برمی گرداند.
BOOL GMSGeometryContainsLocation (نقطه CLLocationCoordinate2D، مسیر * GMSPath ، BOOL geodesic)
نشان می دهد که آیا point در داخل مسیر قرار دارد یا خیر.
BOOL GMSGeometryIsLocationOnPathTolerance (نقطه CLLocationCoordinate2D، مسیر * GMSPath ، BOOL geodesic، CLLocationDistance تلورانس)
نشان می دهد که آیا point در path یا نزدیک به آن، در محدوده tolerance مشخص شده بر حسب متر است.
BOOL GMSGeometryIsLocationOnPath (نقطه CLLocationCoordinate2D، مسیر * GMSPath ، BOOL geodesic)
همانند GMSGeometryIsLocationOnPath (نقطه، مسیر، ژئودزیک، تلرانس)، با تلورانس پیش فرض 0.1 متر.
فاصله CLL GMSGeometryDistance (CLLocationCoordinate2D از، CLLocationCoordinate2D به)
فاصله دایره بزرگ بین دو مختصات را بر حسب متر روی زمین برمی گرداند.
فاصله CLL GMSGeometryLength ( مسیر * GMSPath )
طول دایره بزرگ path بر حسب متر روی زمین برمی‌گرداند.
دو برابر GMSGeometryArea ( مسیر * GMSPath )
مساحت یک چندضلعی ژئودزیکی را که با path روی زمین تعریف شده است، برمی گرداند.
دو برابر GMSGeometrySignedArea ( مسیر * GMSPath )
ناحیه علامت گذاری شده یک چندضلعی ژئودزیکی را که توسط path روی زمین تعریف شده است، برمی گرداند.
CLLlocationDirection GMSGeometryHeading (CLLocationCoordinate2D از، CLLocationCoordinate2D به)
عنوان اولیه (درجه در جهت عقربه‌های ساعت شمال) را from کوتاه‌ترین مسیر to برمی‌گرداند.
CLLlocationCoordinate2D GMSGeometryOffset (CLLocationCoordinate2D از، فاصله CLLocationDistance، عنوان CLLocationDirection)
مختصات مقصد را برمی‌گرداند، هنگام شروع from با heading اولیه، distance متر در امتداد یک کمان دایره‌ای بزرگ، روی زمین.
CLLlocationCoordinate2D GMSGeometryInterpolate (CLLocationCoordinate2D از، CLLocationCoordinate2D به، کسر دوبل)
مختصاتی را برمی‌گرداند که fraction معینی از مسیر بین from و to مختصات در کوتاه‌ترین مسیر بین این دو قرار دارد.
NSArray< GMSStyleSpan * > * GMSStyleSpans ( GMSPath * مسیر، NSArray< GMSStrokeStyle * > *سبکها، NSArray< NSNumber * > *طولها، GMSLengthKind lengthKind)
یک NSArray از GMSStyleSpan را برمی‌گرداند که با استفاده مکرر از اطلاعات سبک و طول از styles و lengths path ساخته شده است.
NSArray< GMSStyleSpan * > * GMSStyleSpansOffset ( GMSPath *مسیر، NSArray< GMSStrokeStyle * > *سبکها، NSArray< NSNumber * > *طولها، GMSLengthKind طولKind، دو برابر طول Offset)
مشابه GMSStyleSpans (مسیر، سبک‌ها، طول‌ها، lengthKind) اما علاوه بر این یک افست طول اولیه می‌گیرد که نسبت به آرایه lengths نادیده گرفته می‌شود.

اسناد Typedef

typedef struct GMSMapPoint GMSMapPoint

یک نقطه روی نقشه

ممکن است یک مختصات پیش بینی شده را نشان دهد.

x در [-1، 1] است. جهت محور نرمال است: y به سمت شمال، x به سمت شرق رشد می کند. (0، 0) مرکز نقشه است.

GMSProject() و GMSUnproject() را ببینید.


مستندات عملکرد

GMSMapPoint GMSProject ( CLLlocationCoordinate2D هماهنگ كردن )

پروژه ها با نقشه coordinate .

coordinate باید معتبر باشد

CLLocationCoordinate2D GMSUnproject ( GMSMapPoint نقطه )

point از نقشه خارج می کند.

point.x باید در [-1، 1] باشد.

GMSMapPoint GMSMapPointInterpolate ( GMSMapPoint آ ،
GMSMapPoint ب
دو برابر تی
)

یک نقطه درون یابی شده خطی در قطعه [a, b]، در کسری t از a را برمی‌گرداند.

t ==0 مربوط به a ، t ==1 مربوط به b است.

درونیابی در طول مسیر کوتاه بین نقاطی که به طور بالقوه از خط تاریخ عبور می کنند انجام می شود. به عنوان مثال، درون یابی از سانفرانسیسکو به توکیو از شمال هاوایی می گذرد و از خط تاریخ عبور می کند.

دو برابر GMSMapPointDistance ( GMSMapPoint آ ،
GMSMapPoint ب
)

طول پاره [a, b] را در فضای پیش بینی شده برمی گرداند.

طول در طول مسیر کوتاه بین نقاطی که به طور بالقوه از خط تاریخ عبور می کنند محاسبه می شود. به عنوان مثال، فاصله بین نقاط مربوط به سانفرانسیسکو و توکیو، بخشی را اندازه می گیرد که از شمال هاوایی از خط تاریخ عبور می کند.

BOOL GMSGeometryContainsLocation ( CLLlocationCoordinate2D نقطه ،
GMSPath * مسیر ،
BOOL ژئودزیک
)

نشان می دهد که آیا point در داخل مسیر قرار دارد یا خیر.

مسیر همیشه بسته در نظر گرفته می شود، صرف نظر از اینکه آخرین نقطه برابر با نقطه اول باشد یا خیر.

داخل به عنوان فاقد قطب جنوب تعریف می شود -- قطب جنوب همیشه خارج است.

اگر geodesic بله باشد، path بخش‌های دایره بزرگ را توصیف می‌کند و در غیر این صورت، بخش‌های رومب (لوکسودرومی) را توصیف می‌کند.

اگر point دقیقاً برابر با یکی از رئوس باشد، نتیجه بله است. نقطه ای که با یک راس برابر نیست در یک طرف هر قطعه مسیر قرار دارد -- هرگز نمی تواند "دقیقا روی مرز" باشد.

برای تست مرزی با تلرانس ()GMSGeometryIsLocationOnPath را ببینید.

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLlocationCoordinate2D نقطه ،
GMSPath * مسیر ،
BOOL ژئودزیک ،
فاصله CLL تحمل
)

نشان می دهد که آیا point در path یا نزدیک به آن، در محدوده tolerance مشخص شده بر حسب متر است.

اگر geodesic بله باشد path از بخش‌های دایره بزرگ و اگر geodesic خیر باشد، از بخش‌های رومب (لوکسودرومیک) تشکیل شده است.

همچنین به GMSGeometryIsLocationOnPath (نقطه، مسیر، ژئودزیک) مراجعه کنید.

تحمل، بر حسب متر، نسبت به شعاع کروی زمین است. اگر نیاز به کار بر روی کره ای با شعاع متفاوت دارید، می توانید تلورانس معادل را از تلورانس مورد نظر در کره شعاع R محاسبه کنید: تحمل = toleranceR * (RadiusEarth / R)، با RadiusEarth==6371009.

BOOL GMSGeometryIsLocationOnPath ( CLLlocationCoordinate2D نقطه ،
GMSPath * مسیر ،
BOOL ژئودزیک
)

همانند GMSGeometryIsLocationOnPath (نقطه، مسیر، ژئودزیک، تلرانس)، با تلورانس پیش فرض 0.1 متر.

CLLlocationDistance GMSGeometryDistance ( CLLlocationCoordinate2D از جانب ،
CLLlocationCoordinate2D به
)

فاصله دایره بزرگ بین دو مختصات را بر حسب متر روی زمین برمی گرداند.

این کوتاه ترین فاصله بین دو مختصات روی کره است.

هر دو مختصات باید معتبر باشند.

CLLLocationDistance GMSGeometryLength ( GMSPath * مسیر )

طول دایره بزرگ path بر حسب متر روی زمین برمی‌گرداند.

این مجموع GMSGeometryDistance() در قسمت های مسیر است.

تمام مختصات مسیر باید معتبر باشد.

دو برابر GMSGeometryArea ( GMSPath * مسیر )

مساحت یک چندضلعی ژئودزیکی را که با path روی زمین تعریف شده است، برمی گرداند.

"داخل" چند ضلعی به عنوان فاقد قطب جنوب تعریف می شود.

اگر path بسته نباشد، تلویحاً به عنوان یک مسیر بسته تلقی می شود و نتیجه یکسان است.

تمام مختصات مسیر باید معتبر باشد.

چند ضلعی باید ساده باشد (خود همپوشانی نداشته باشد) و ممکن است مقعر باشد.

اگر هر بخش از مسیر یک جفت نقطه پادپای باشد، نتیجه تعریف نشده است -- زیرا دو نقطه پادپایه یک قطعه دایره بزرگ منحصر به فرد را روی کره تشکیل نمی دهند.

دو برابر GMSGeometrySignedArea ( GMSPath * مسیر )

ناحیه علامت گذاری شده یک چندضلعی ژئودزیکی را که توسط path روی زمین تعریف شده است، برمی گرداند.

نتیجه همان مقدار مطلق GMSGeometryArea() است. اگر نقاط مسیر بر خلاف جهت عقربه های ساعت باشند مثبت است و در غیر این صورت منفی است.

همان محدودیت هایی که در GMSGeometryArea() اعمال می شود.

CLLlocationDirection GMSGeometryHeading ( CLLlocationCoordinate2D از جانب ،
CLLlocationCoordinate2D به
)

عنوان اولیه (درجه در جهت عقربه‌های ساعت شمال) را from کوتاه‌ترین مسیر to برمی‌گرداند.

مقدار بازگشتی در محدوده [0، 360) قرار دارد.

اگر دو مختصات یکسان باشند 0 را برمی گرداند.

هر دو مختصات باید معتبر باشند.

برای به دست آوردن عنوان نهایی to یک می توانید از (GMSGeometryHeading(to, from ) + 180) modulo 360 استفاده کنید.

CLLlocationCoordinate2D GMSGeometryOffset ( CLLlocationCoordinate2D از جانب ،
فاصله CLL فاصله ،
CLLlocationDirection عنوان
)

مختصات مقصد را برمی‌گرداند، هنگام شروع from با heading اولیه، distance متر در امتداد یک کمان دایره‌ای بزرگ، روی زمین.

طول جغرافیایی حاصل در محدوده [-180، 180) است.

هر دو مختصات باید معتبر باشند.

CLLlocationCoordinate2D GMSGeometryInterpolate ( CLLlocationCoordinate2D از جانب ،
CLLlocationCoordinate2D به ،
دو برابر کسر
)

مختصاتی را برمی‌گرداند که fraction معینی از مسیر بین from و to مختصات در کوتاه‌ترین مسیر بین این دو قرار دارد.

طول جغرافیایی حاصل در محدوده [-180، 180) است.

NSArray< GMSStyleSpan *>* GMSStyleSpans ( GMSPath * مسیر ،
NSArray< GMSStrokeStyle * > * سبک ها ،
NSArray< NSNumber * > * طول ها ،
GMSLengthKind طول مهربان
)

یک NSArray از GMSStyleSpan را برمی‌گرداند که با استفاده مکرر از اطلاعات سبک و طول از styles و lengths path ساخته شده است.

path مسیری که در امتداد آن دهانه های خروجی محاسبه می شود. یک NSArray از GMSStrokeStyle styles . در صورت مصرف بسته بندی می شود. نمی تواند خالی باشد. 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 * مسیر ،
NSArray< GMSStrokeStyle * > * سبک ها ،
NSArray< NSNumber * > * طول ها ،
GMSLengthKind طول مهربان
دو برابر طول آفست
)

مشابه GMSStyleSpans (مسیر، سبک‌ها، طول‌ها، lengthKind) اما علاوه بر این یک افست طول اولیه می‌گیرد که نسبت به آرایه lengths نادیده گرفته می‌شود.

lengthOffset طول (مثلاً بر حسب متر) است که در ابتدا باید از lengths نادیده گرفته شود.