class: Location

定位。

func

  • getLocation(_ type:LocationModuleType = .whenInUse)

    未注册过权限,进行权限注册.授权状态下开启定位.

delegate: LocationDelegate

  • onGetLocation(_ location:LocationModel)
    获取当前定位的位置信息

model: LocationModel

定位返回的位置信息

enum: LocationModuleType

/// 注册定位方式
///
/// - always: 在前台和后台都可以访问位置
/// - whenInUse: 仅在前台访问位置
@objc public enum LocationModuleType : Int {
    case always
    case whenInUse
}

使用注意

  • 1.在info.plist 中添加位置服务权限
<!-- 在使用期间访问位置 --> 
<key>NSLocationWhenInUseUsageDescription</key> 
<string>App需要您的同意,才能在使用期间访问位置</string> 
<!-- 始终访问位置 --> 
<key>NSLocationAlwaysUsageDescription</key> 
<string>App需要您的同意,才能始终访问位置</string>
  • 2.always模式下如果需要app在后台开启定位: 选择project --> 到 Capabilities ——>找到Background Modes 将off改成on 并且勾选 Location updates

使用

// 1.创建`Location`对象
let locationModule = Location.share
// 2.设置代理
locationModule.delegate = self
// 3.开启定位,默认设置`whenInUse`,如果想设置`always`,使用:locationModule.getLocation(.always)
locationModule.getLocation()
// MARK: - LocationDelegate
func onGetLocation(_ location: LocationModel) {
    // get location info..
}

LocationModel

parameters types
longitude Double 经度
latitude Double 纬度
country String? 国家
administrativeArea String? 省 直辖市
locality String? 地级市 直辖市区
subLocality String? 县 区
thoroughfare String? 街道
subThoroughfare String? 子街道

results matching ""

    No results matching ""