GreatCircle 1.0.5

GreatCircle 1.0.5

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布上次发布2016年12月

Brian Lambert 维护。



  • 作者
  • Brian Lambert

GreatCircle是一个iOS框架,它为CLLocation类提供一系列扩展。

问题

CLLocation类只提供了一个方法

- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location

用于计算两个GPS位置之间的距离。因此,iOS开发者必须“自行”解决更复杂的GPS位置计算问题。

解决方案

GreatCircle,它是基于Chris VenessGeodesy函数项目的所有者)的出色工作,为CLLocation类提供了一组完整的扩展方法,使处理GPS位置和对这些位置进行计算变得简单易行。

(有关更一般的介绍,请参阅:可移动类型脚本纬度/经度计算参考)

状态

到目前为止,我已经致力于将球面地球模型移植过来,它提供了一个简单公式,覆盖了大多数用例的精度要求。

快速链接

入门

GreatCircle可以通过Carthage依赖管理器或作为CocoaPod使用。

将GreatCircle添加到您的Cartfile中

github "softwarenerd/GreatCircle"

将GreatCircle.framework添加到链接框架和库中

在应用程序目标“通用”设置选项卡的“链接框架和库”部分,将磁盘上的Carthage/Build/iOS文件夹中的GreatCircle.framework拖放到应用程序目标

Add Framework

添加Copy Frameworks Run Script

在应用程序目标的“构建阶段”设置选项卡中,单击“+”图标并选择“新建Run Script阶段”。创建一个Run Script,在以下内容中指定您的shell(例如 bin/sh),将以下内容添加到shell下的脚本区域

  /usr/local/bin/carthage copy-frameworks

并在“输入文件”下添加您想要使用的框架的路径,例如

  $(SRCROOT)/Carthage/Build/iOS/GreatCircle.framework

Run Script

CocoaPod

GreatCircle 添加到您的 podfile 中

target 'MyApp' do
    use_frameworks!
    pod 'GreatCircle', '~> 1.0'
end

然后使用以下命令进行安装

pod install

如果您是首次在项目中使用 CocoaPod,您需要将 ProjectName.xcodeproj 文件切换到由 pod install 命令创建的 ProjectName.xcworkspace

文档

导入 GreatCircle

根据需要将 GreatCircle 框架导入到您的源文件中。

扩展方法

-crossTrackDistanceToStartLocation:endLocation
返回相对于指定起始位置和终止位置的交叉航向距离(以米为单位)。

-crossTrackLocationToStartLocation:endLocation
返回表示相对于指定起始位置和终止位置的交叉航向点的位置。

CrossTrackMethods

-distanceToOtherLocation
返回此位置与其他位置之间的距离(以米为单位)。

DistanceMethod

-finalBearingToOtherLocation
返回此位置与其他位置之间的最终航向(以度为单位)。最终航向是从其他位置到当前位置的初始航向的相反方向 180°。最终航向将根据距离和纬度而有所不同。

-initialBearingToOtherLocation
返回此位置与其他位置之间的初始航向(以度为单位)。

+intersectionOfLocation:andBearing:withLocation:andBearing
返回表示两个路径的交点的位置,每个路径都由一个位置和航向指定。如果两条路径不相交,则返回 nil。

Intersection

-isEqualToOtherLocation
比较此位置与其他位置是否相等。

-locationWithBearing:distance
返回表示从当前位置起,指定航向和距离的位置。

BearingDistance

-midpointToOtherLocation
返回表示此位置与其他位置之间中点的位置。

Midpoint

贡献

GreatCircle 仍在开发中,我们非常欢迎您的贡献。请随意分支仓库并提交 PR。

许可

GreatCircle 在 MIT 许可证 下发布。