[英]What is the difference between MKCoordinateSpan and CLLocationCoordinate2D
我正在瀏覽MapKit
和CoreLocation
框架的示例示例。 我發現這兩個結構( MKCoordinateSpan
和CLLocationCoordinate2D
)在聲明中相似。 這些功能在功能上有何不同,有人可以舉一個例子(同時使用兩者)以闡明其含義。
謝謝!
MKCoordinateSpan
定義了在地圖上顯示的經度和緯度方向的跨度 ,即增量。 然后,您可以與一個點一起定義要在地圖上顯示的區域。
CLLocationCoordinate2D
定義緯度和經度坐標系中的單個點。
例如:
|<---- deltaLat ---->|
|---------------------|---
| | |
| | |
| | |
| | |
| + |deltaLon
| (lat,lon) | |
| | |
| | |
| | |
|---------------------|---
在這里,您可以想象一個中心點(lat,lon)
圍繞該deltaLat
有一個deltaLat
和一個deltaLon
。
因此(lat,lon)
將是CLLocationCoordinate2D
而deltaLat, deltaLon
將形成MKCoordinateSpan
。
沒錯,兩個結構都以相同的方式定義,但這在兩個不同的結構具有不同語義並因此像您所發現的那樣分別定義的情況下很常見。
MKCoordinateSpan
被解釋為增量值 ,而CLLocationCoordinate2D
被解釋為一個點 。
例如,假設您要定義一個圓形區域,您將定義一個中心點及其周圍的半徑。
在MapKit
,可以通過MKCoordinateRegion
定義一個矩形區域 。 中心點是一個CLLocationCoordinate2D
( latitude
和longitude
-的兩端的typedef double
),並通過一垂直和水平增量MKCoordinateSpan
( latitudeDelta
和longitudeDelta
-的兩端的typedef double
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.