您好,欢迎来到二三四教育网。
搜索
您的当前位置:首页Swift-定位,编码/反编码功能的封装

Swift-定位,编码/反编码功能的封装

来源:二三四教育网

一. 定位的使用

  1. 懒加载声明对象
    // 使用的时候一定要声明成为持久变量,否则会提前销毁,不执行MCPositioning类里面的定位的代理方法
    lazy var positioning: MCPositioning = {
        let p = MCPositioning()
        return p
    }()
  1. 开启定位
   // 一定不要写在懒加载中,不然只能定位一次
   positioning.startPositioning(self)
  1. 获取定位的经纬度
  positioning.clousre = { (latitude,longitude) in
  let oneStr = "定位的纬度: \(latitude)  ----经度: \(longitude)"
        }
  1. 在设置页面重新开启了定位定位/重新进入前台 如何重新定位
// 监听重新变成活跃状态的通知
  NotificationCenter.default.addObserver(self, selector: #selector(didBecomeActive), name: notificationName, object: nil)


  @objc func didBecomeActive() {
        // 重新开启定位
        // 重新执行2和3步骤
  }

  1. 说明
  • 封装的MCPositioning类里面自动处理了没开启或者定位不可用的情况。

二. 编码 / 反编码

  1. 懒加载声明对象
    // 使用的时候一定要声明成为持久变量,否则会提前销毁,不执行couslre
    lazy var geccoder: MCGeocoder = {
        let g = MCGeocoder()
        return g
    }()
  1. 编码
   weakSelf!.geccoder.MCeverseGeocode(latitude: latitude, longitude: longitude, success: { (addressInfo) in
               
        let twoStr = "反编码出来的地址:" + addressInfo.addressLines
   }, failure: { (error) in  })
  1. 反编码
  weakSelf!.geccoder.MCLocationEncode(address: addressInfo.addressLines, success: { (coor) in
       let threeStr = "根据地址编码出来的经纬度: \(coor.latitude)----\(coor.longitude)"
  },failure: {(error) in  })

Copyright © 2019- how234.cn 版权所有 赣ICP备2023008801号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务