//选择导航类型
@objc private func choiceMap() {
//将User.share.coordinate的两个值改成网吧的经纬度
let alert = UIAlertController.init(title: "请选择导航应用程序", message: nil, preferredStyle: .actionSheet)
alert.addAction(UIAlertAction.init(title: "自带地图", style: .default, handler: { (action) in
let loc = CLLocationCoordinate2DMake(User.share.coordinate!.latitude, User.share.coordinate!.longitude)
let currentLocation = MKMapItem.forCurrentLocation()
let toLocation = MKMapItem(placemark:MKPlacemark(coordinate:loc,addressDictionary:nil))
toLocation.name = "网吧名字"
MKMapItem.openMaps(with: [currentLocation,toLocation], launchOptions: [MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving,MKLaunchOptionsShowsTrafficKey: "true"])
}))
alert.addAction(UIAlertAction.init(title: "高德地图", style: .default, handler: {[weak self] (action) in
guard let strongSelf = self else {
return
}
let urlString = "iosamap://navi?sourceApplication=导航功能&backScheme=djlsj&lat=\(User.share.coordinate!.latitude)&lon=\(User.share.coordinate!.longitude)&dev=0&style=2" as NSString
if strongSelf.openMap(urlString) == false {
strongSelf.showTipMessage("您还没有安装高德地图")
}
}))
alert.addAction(UIAlertAction.init(title: "百度地图", style: .default, handler: {[weak self] (action) in
guard let strongSelf = self else {
return
}
let urlString = "baidumap://map/direction?origin={{我的位置}}&destination=latlng:\(User.share.coordinate!.latitude),\(User.share.coordinate!.longitude)|name=中国&mode=walking&coord_type=gcj02" as NSString
if strongSelf.openMap(urlString) == false {
strongSelf.showTipMessage("您还没有安装百度地图")
}
}))
alert.addAction(UIAlertAction.init(title: "取消", style: .cancel, handler: { (action) in
}))
present(alert, animated: true, completion: nil)
}
private func openMap(_ urlString: NSString) -> Bool {
let url = NSURL(string:urlString.addingPercentEscapes(using: String.Encoding.utf8.rawValue)!)
if UIApplication.shared.canOpenURL(url! as URL) == true {
UIApplication.shared.openURL(url! as URL)
return true
} else {
printLog(message: "无法打开")
return false
}
}
ps:需要info.plist中添加报名单baidumao和iosamap