ECMapNavigationAble
ECMapNavigationAble 是一个用 Swift 编写的库,用于应用内跳转手机导航,依赖 JZLocationConverter 进行高德坐标、百度坐标、GPS 坐标之间相互转换,支持 Apple 地图、高德地图、百度地图、Google 地图、腾讯地图。
安装
pod "ECMapNavigationAble"
使用案例
返回UIAlertController
let location = ECLocation(coordinate: CLLocationCoordinate2D(latitude: 30.2853100000, longitude: 120.1001900000), type: .gcj02)
let alert = mapNavigation(destination: location,scheme: "ecmapnavigation", app: "demo")
present(alert, animated: true, completion: nil)
在 UIViewController 中使用 遵守 ECMapNavigationAble 协议
class ViewController: UIViewController,ECMapNavigationAble {
override func viewDidLoad() {
super.viewDidLoad()
...
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
/**
* 调用第三方导航
* destination: 目的地坐标
* locationType: destination坐标的类型(ECLocationType)
* scheme: 用于返回APP
*/
let destination = CLLocationCoordinate2D(latitude: 30.2853100000, longitude: 120.1001900000)
showNavigationListAlert(destination: destination, locationType: .gcj02, scheme: "ecmapnavigation")
}
ECLocationType 坐标的类型
/**
* WGS-84 GPS原始坐标
* GCJ-02 火星坐标 适用于高德、腾讯,google中国地图
* BD-09 百度坐标
*/
public enum ECLocationType {
case wgs84
case gcj02
case bd09
}
注意,在使用前请先在 infoplist 文件中添加
<key>LSApplicationQueriesSchemes</key>
<array>
<string>qqmap</string>
<string>iosamap</string>
<string>baidumap</string>
<string>comgooglemaps</string>
</array>
作者
许可证
ECMapNavigationAble遵循MIT许可证。有关更多信息,请参阅LICENSE文件。