|
@@ -30,6 +30,8 @@ public class BaiduMapManager: NSObject {
|
|
typealias LocationFalseBlock = () -> Void
|
|
typealias LocationFalseBlock = () -> Void
|
|
|
|
|
|
var locationFalseBlock : LocationFalseBlock?
|
|
var locationFalseBlock : LocationFalseBlock?
|
|
|
|
+
|
|
|
|
+ var isLocation : Bool = false
|
|
|
|
|
|
|
|
|
|
/// 初始化百度
|
|
/// 初始化百度
|
|
@@ -81,6 +83,7 @@ public class BaiduMapManager: NSObject {
|
|
|
|
|
|
locationManager.requestLocation(withReGeocode: true, withNetworkState: true) { [weak self] location, state, error in
|
|
locationManager.requestLocation(withReGeocode: true, withNetworkState: true) { [weak self] location, state, error in
|
|
if (error != nil) {
|
|
if (error != nil) {
|
|
|
|
+ self?.isLocation = false
|
|
locationFalseBlock()
|
|
locationFalseBlock()
|
|
return
|
|
return
|
|
} else {
|
|
} else {
|
|
@@ -110,6 +113,7 @@ public class BaiduMapManager: NSObject {
|
|
}
|
|
}
|
|
|
|
|
|
LocationModel.shared().saveObject(locationModel: self?.locationModel ?? LocationModel())
|
|
LocationModel.shared().saveObject(locationModel: self?.locationModel ?? LocationModel())
|
|
|
|
+ self?.isLocation = true
|
|
NXLLog(LocationModel.shared().object())
|
|
NXLLog(LocationModel.shared().object())
|
|
locationSuccessBlock()
|
|
locationSuccessBlock()
|
|
}
|
|
}
|
|
@@ -120,28 +124,15 @@ public class BaiduMapManager: NSObject {
|
|
|
|
|
|
/// 定位设置弹框
|
|
/// 定位设置弹框
|
|
func loacationAlertView() {
|
|
func loacationAlertView() {
|
|
- AlertSheetView.alert(title: "定位服务未开启", detailTitle: "请进入系统设置「设置」「隐私」「定位服务」中打开开关,并允许彩虹星球使用定位服务", cancelTitle: "取消", sureTitle: "立即开启", cancelBlock: { (popupView, Int, string) in
|
|
|
|
- if let locationFalseBlock = self.locationFalseBlock {
|
|
|
|
- locationFalseBlock()
|
|
|
|
- }
|
|
|
|
- }, confirmBlock: { (popupView, Int, string) in
|
|
|
|
|
|
+ AlertSheetView.alert(title: "定位服务未开启", detailTitle: "请进入系统设置「设置」「隐私」「定位服务」中打开开关,并允许由你使用定位服务", cancelTitle: "取消", sureTitle: "立即开启", cancelBlock: { (popupView, Int, string) in
|
|
|
|
|
|
|
|
+ }, confirmBlock: { (popupView, Int, string) in
|
|
if #available(iOS 10.0, *) {
|
|
if #available(iOS 10.0, *) {
|
|
|
|
|
|
let url = URL(string: UIApplication.openSettingsURLString)
|
|
let url = URL(string: UIApplication.openSettingsURLString)
|
|
if let url = url {
|
|
if let url = url {
|
|
if UIApplication.shared.canOpenURL(url) {
|
|
if UIApplication.shared.canOpenURL(url) {
|
|
- UIApplication.shared.open(url, options: [:], completionHandler: { [weak self] success in
|
|
|
|
- self?.initLocation(locationSuccessBlock: {
|
|
|
|
- if let locationSuccessBlock = self?.locationSuccessBlock {
|
|
|
|
- locationSuccessBlock()
|
|
|
|
- }
|
|
|
|
- }, locationFalseBlock: { [weak self] in
|
|
|
|
- if let locationFalseBlock = self?.locationFalseBlock {
|
|
|
|
- locationFalseBlock()
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- })
|
|
|
|
|
|
+ UIApplication.shared.open(url, options: [:], completionHandler: { success in })
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
@@ -152,7 +143,10 @@ public class BaiduMapManager: NSObject {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ popupView.hide()
|
|
|
|
+
|
|
})
|
|
})
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -240,11 +234,13 @@ extension BaiduMapManager:BMKLocationManagerDelegate {
|
|
//该值应用于iOS、tvos和watchos。它在上有售
|
|
//该值应用于iOS、tvos和watchos。它在上有售
|
|
//macos,但kclauthorizationstatusauthorized是同义词且首选。
|
|
//macos,但kclauthorizationstatusauthorized是同义词且首选。
|
|
startLocation()
|
|
startLocation()
|
|
|
|
+ self.isLocation = true
|
|
}else if status == .authorizedWhenInUse {
|
|
}else if status == .authorizedWhenInUse {
|
|
//只有在应用程序
|
|
//只有在应用程序
|
|
//对它们可见(如果继续在后台接收位置更新)。授权使用
|
|
//对它们可见(如果继续在后台接收位置更新)。授权使用
|
|
//尚未授予启动API。此值在MacOS上不可用。它应该在iOS、tvos和沃特克斯。
|
|
//尚未授予启动API。此值在MacOS上不可用。它应该在iOS、tvos和沃特克斯。
|
|
startLocation()
|
|
startLocation()
|
|
|
|
+ self.isLocation = true
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|