🗺 curvyRoute
在地图上绘制两点之间曲线的简单方法。
🏆 功能
- 在地图上显示曲线
- 在地图上显示直线
- 自定义半径乘数
📝 需求
- iOS 8.0+
- Swift 4.2+
🛠 安装
安装 curvyRoute 有几种方法
CocoaPods
将 curvyRoute
specs 添加到您的 Podfile
pod 'curvyRoute'
将 curvyRoute
添加为包含字符串文件的模块的依赖项
s.dependency 'curvyRoute'
注意:如果您应用程序没有模块化,请将 pod 'curvyRoute'
也添加到 Podfile
中。
👉🏼 示例
import MapKit
import UIKit
import curvyRoute
class ViewController: UIViewController, MKMapViewDelegate {
@IBOutlet weak var mapView: MKMapView!
override func viewDidAppear(_: Bool) {
mapView.delegate = self
addOverlays()
}
func mapView(_: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
if let lineOverlay = overlay as? LineOverlay {
return MapLineOverlayRenderer(lineOverlay)
}
return MKOverlayRenderer(overlay: overlay)
}
private func addOverlays() {
let pointA = CLLocationCoordinate2DMake(41.375024, 2.149118) // Plaça d'Espanya, Barcelona
let pointB = CLLocationCoordinate2DMake(41.380994, 2.185771) // Plaça Pau Vila, 1, Barcelona
mapView.addOverlay(LineOverlay(origin: pointA, destination: pointB))
let arc = ArcOverlay(origin: pointA, destination: pointB,
style: LineOverlayStyle(strokeColor: .systemTeal, lineWidth: 4, alpha: 1))
arc.radiusMultiplier = 0.5
mapView.addOverlay(arc)
}
}
🤔 radiusMultiplier 是什么?
这个属性将影响弧形的形状。默认值为 1。
👨💻 待办事项
- 动画折线路径
- ...
📖 许可证
curvyRoute 在 MIT 许可下发布。有关详细信息,请参阅 LICENSE
。