tur*_*tle 7 core-location mapkit ios
我正在阅读示例MapKit和CoreLocation框架示例.我发现这两个结构(MKCoordinateSpan和CLLocationCoordinate2D)在声明中是相似的.这些功能有何不同,有人可以请一个例子(使用两者)来清除它们的含义.
谢谢!
mat*_*way 26
MKCoordinateSpan定义在地图上显示的纬度和经度方向上的跨度,即三角形.然后,您可以定义要在地图上显示的区域.
CLLocationCoordinate2D 在纬度和经度坐标系中定义单个点.
例如:
|<---- deltaLat ---->|
|---------------------|---
| | |
| | |
| | |
| | |
| + |deltaLon
| (lat,lon) | |
| | |
| | |
| | |
|---------------------|---
Run Code Online (Sandbox Code Playgroud)
在这里你可以想象一个中心点(lat,lon),你有一个deltaLat和一个deltaLon.
因此,(lat,lon)将是一个CLLocationCoordinate2D和deltaLat, deltaLon将形成MKCoordinateSpan.
你是对的,两个结构都以相同的方式定义,但这在两个不同结构具有不同语义的情况下很常见,因此就像你发现的那样单独定义.
MKCoordinateSpan被解释为delta值,而CLLocationCoordinate2D被解释为一个点.
例如,假设您要定义一个圆形区域,您将定义一个中心点及其周围的半径.
在MapKit你定义一个矩形区域通过MKCoordinateRegion.中心点是CLLocationCoordinate2D(latitude和longitude- 都是typedef double)和垂直和水平delta由MKCoordinateSpan(latitudeDelta和longitudeDelta- 都是typedef double)
| 归档时间: |
|
| 查看次数: |
5406 次 |
| 最近记录: |