1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      001.Swift定位CLLocationManager

      引用:  import CoreLocation

      10年積累的成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有精河免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

         //如果是ios8.0以后,在想請(qǐng)求用戶的位置信息,需要主動(dòng)的請(qǐng)求授權(quán),系統(tǒng)不會(huì)再自動(dòng)彈出一個(gè)窗口

          

          

          lazy var locationM: CLLocationManager = {

             let locationM = CLLocationManager()

              locationM.delegate = self

              

              

             // 請(qǐng)求的是前臺(tái)定位授權(quán)

             //默認(rèn)情況,只能在前臺(tái)獲取用戶位置信息如果想想要在后臺(tái)也獲取用戶位那么必須勾選后臺(tái)模式location  updates

             //效果在后臺(tái)確實(shí)可以獲取到位置信息,但是屏幕上方會(huì)出現(xiàn)一個(gè)藍(lán)色的橫幅,不斷提醒用戶,當(dāng)前APP正在使用你的位置

              if #available(iOS 8.0, *) {

                  locationM.requestWhenInUseAuthorization()

                  

                  

                 // 如果在ios9.0以后, 想要在后臺(tái)獲取用戶位置, 

                 // 如果當(dāng)前的授權(quán)狀態(tài)是前臺(tái)定位授權(quán), 那么你需要勾選后臺(tái)模式 location updates, 還要額外的設(shè)置以下屬性為true

                 // 注意: 如果設(shè)置這個(gè)屬性為true, 那么必須勾選后臺(tái)模式

                  if #available(iOS 9.0, *) {

                      locationM.allowsBackgroundLocationUpdates =true

                  }

                  

                  //前后臺(tái)定位授權(quán)

                 //如果當(dāng)前的授權(quán)狀態(tài)是前后臺(tái)定位授權(quán),那么默認(rèn)情況下,就可以在后臺(tái)獲取用戶位置信息,不需要勾選后臺(tái)模式location updates

                  

      //            locationM.requestAlwaysAuthorization()

              }

              

              

             // 設(shè)置過濾距離

             // 每隔100米定位一次

             // 1 111KM/100M

             //如果最新的位置距離上一次的位置之間的物理距離,大于這個(gè)值,就會(huì)通過代理來告訴我們最新的位置數(shù)據(jù)

              locationM.distanceFilter = 100

              

              

             // 定位精確度

      //         kCLLocationAccuracyBestForNavigation // 最適合導(dǎo)航

      //         kCLLocationAccuracyBest; // 最好的

      //         kCLLocationAccuracyNearestTenMeters; // 附近10米

      //         kCLLocationAccuracyHundredMeters; // 附近100米

      //         kCLLocationAccuracyKilometer; // 附近1000米

      //         kCLLocationAccuracyThreeKilometers; // 附近3000米

             //經(jīng)驗(yàn):如果定位的精確度越高,那么越耗電,而且定位時(shí)間越長

              //

              locationM.desiredAccuracy =kCLLocationAccuracyBest

              

              return locationM

          }()

          

          

          override func touchesBegan(touches: Set, withEvent event: UIEvent?) {

             locationM.startUpdatingLocation()

          }

      }

      extensionViewController:CLLocationManagerDelegate {

          

          

          func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

             print("已經(jīng)獲取到位置信息")

              

             //獲取用戶當(dāng)前所在的城市,切換到奧對(duì)應(yīng)城市 1

             //如果想要定位一次,那么可以在定位到之后,停止定位

      //        locationM.stopUpdatingLocation()

              

          }

          

          /**

          授權(quán)狀態(tài)發(fā)生改變時(shí)調(diào)用

           

           - parameter manager: 位置管理者

           - parameter status:  狀態(tài)

           */

          func locationManager(manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus) {

              switch status {

             case .NotDetermined:

                  print("用戶沒有決定")

              case .Restricted:

                  print("受限制")

             case .AuthorizedWhenInUse:

                  print("前臺(tái)定位授權(quán)")

             case .AuthorizedAlways:

                  print("前后臺(tái)定位授權(quán)")

              case .Denied:

      //            print("拒絕")

                 //判斷當(dāng)前設(shè)備是否支持定位,并且定位服務(wù)是否開啟

                 ifCLLocationManager.locationServicesEnabled() {

                      print("真正被拒絕")

                     // 手動(dòng)通過代碼, 來跳轉(zhuǎn)到設(shè)置界面

                      if #available(iOS 8.0, *) {

                          

                         let url =NSURL(string:UIApplicationOpenSettingsURLString)

                          if UIApplication.sharedApplication().canOpenURL(url!) {

                              UIApplication.sharedApplication().openURL(url!)

                          }

                      }

                     

                      

                  }else {

                     //當(dāng)我們?cè)赼pp內(nèi)部想要訪問用戶位置,但是當(dāng)前的定位服務(wù)是關(guān)閉狀態(tài),那么系統(tǒng)會(huì)自動(dòng)彈出一個(gè)窗口,快捷跳轉(zhuǎn)到設(shè)置界面,讓用戶設(shè)置

                      print("定位服務(wù)應(yīng)該打開")

                  }

              default:

                  print("none")

              }

          }


      網(wǎng)站題目:001.Swift定位CLLocationManager
      轉(zhuǎn)載注明:http://www.ef60e0e.cn/article/gpchss.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        志丹县| 吴江市| 正宁县| 略阳县| 苍溪县| 长海县| 黔南| 靖远县| 栾城县| 崇信县| 若羌县| 鄂州市| 长海县| 靖宇县| 松溪县| 阿瓦提县| 合江县| 莱西市| 甘孜| 揭阳市| 辽宁省| 策勒县| 平邑县| 长寿区| 永年县| 武夷山市| 徐州市| 湘乡市| 五大连池市| 疏勒县| 中山市| 林周县| 南投县| 两当县| 额济纳旗| 报价| 抚顺县| 泸水县| 铁岭市| 衡山县| 仁布县|