亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

IOS入門筆記之地理位置定位系統

2020-07-26 03:29:02
字體:
來源:轉載
供稿:網友

前言:關于地理位置及定位系統,在iOS開發中也比較常見,比如美團外面的餐飲店鋪的搜索,它首先需要用戶當前手機的位置,然后在這個位置附近搜索相關的餐飲店鋪的位置,并提供相關的餐飲信息,再比如最常見的就是地圖導航,地圖導航更需要定位服務,然后根據用戶的目的地選出一條路線。其實,作為手機用戶這么長時間,或多或少會發現在有些app應用首次在你的手機安裝成功后,首次啟動可能就會提示"是否同意XXx(比如百度瀏覽器)獲取當前位置"等這樣一類的信息??梢姷乩砦恢眉岸ㄎ幌到y是企業app開發必不可少的技能。

本章將提供Swift版本和Objective-C兩個版本的入門代碼,分別實現顯示當前手機或者是模擬器的地理經緯度坐標。

寫在正式學習前的小貼士:

這是因為xcode升級造成的定位權限設置問題。
升級xcode6、xcode7以后打開以前xcode5工程,程序不能定位。工程升級到xcode6或xcode7編譯時需要iOS8 要自己寫授權,不然沒權限定位。

解決方法:

首先在 info.plist里加入對應的缺省字段 ,值設置為YES(前臺定位寫上邊字段,前后臺定位寫下邊字段)
NSLocationWhenInUseUsageDescription //允許在前臺獲取GPS的描述
NSLocationAlwaysUsageDescription //允許在前、后臺獲取GPS的描述

設置的圖示:


好了,如果設置好了,那就正式進入編碼學習吧,首先熟悉蘋果提供的關于定位服務相關的類,方法以及屬性:

1、定位服務和地圖應用的介紹

定位服務: 獲取用戶當前的位置信息,針對用戶的位置信息做相關的數據處理。

地圖應用: 根據實際需求展示地圖和周邊環境信息,基于用戶當前位置展示用戶所關注的地圖位置信息、以及為用戶導航。

•定位服務要掌握的:

•主要操作的類:CLLocationManager

•所屬庫:CoreLocation

•結構體:CLLocationCoordinate2D(經緯度)、CLCLocationCoorRegion(區域)

•地圖應用需要掌握的:

•框架:MapKit

•操作類:MKMapView

2、定位服務

•屬性:

•desiredAccuracy設置定位精確度,這是一個常量屬性,一般用best
•distanceFilter 重新定位的最小變化距離

方法:

•設置什么時候開啟定位的狀態 •requestAlwaysAuthorization() 始終開啟定位
•requestWhenInUseAuthorization() 當app進入前臺的時候開啟定位(iOS8的新方法)
•類方法locationServicesEnabled() 是否有定位服務功能(CLLocationManager)
•startUpdatingLocation() 開啟定位

代理:

•代理的協議:
•代理的方法:可以直接進入這個庫的API查看,只要就是定位錯誤調用的代理方法,定位成功調用的代理方法等等;

涉及到的對象

•locations: CLLocation 該CLLocation對象的屬性: •coordinate •longitude/latitude

英語詞匯積累:

•accuracy 英 'ækjʊrəsɪ n. [數] 精確度,準確性
•filter 英 'fɪltə 濾波器 過濾器;篩選;濾光器 過濾;滲透;用過濾法除去

下面提供的是Swift源碼:

//// ViewController.swift// LocationManager//// Created by HEYANG on //.// Copyright © 年 HEYANG. All rights reserved.//import UIKit// 需要導入CoreLocation框架import CoreLocationclass ViewController: UIViewController,CLLocationManagerDelegate {// 聲明一個全局變量var locationManager:CLLocationManager!override func viewDidLoad() {super.viewDidLoad()locationManager = CLLocationManager()// 設置定位的精確度locationManager.desiredAccuracy = kCLLocationAccuracyBest// 設置定位變化的最小距離 距離過濾器locationManager.distanceFilter = // 設置請求定位的狀態if #available(iOS ., *) {locationManager.requestWhenInUseAuthorization()} else {// Fallback on earlier versionsprint("hello")}//這個是在ios之后才有的// 設置代理為當前對象locationManager.delegate = self;if CLLocationManager.locationServicesEnabled(){// 開啟定位服務locationManager.startUpdatingLocation()}else{print("沒有定位服務")}}// 定位失敗調用的代理方法func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {print(error)}// 定位更新地理信息調用的代理方法func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {if locations.count > {let locationInfo = locations.last!let alert:UIAlertView = UIAlertView(title: "獲取的地理坐標",message: "經度是:/(locationInfo.coordinate.longitude),維度是:/(locationInfo.coordinate.latitude)",delegate: nil, cancelButtonTitle: "是的")alert.show()}}}

下面是Objective-C的源碼:

//// ViewController.m// LocationManager//// Created by HEYANG on //.// Copyright © 年 HEYANG. All rights reserved.//#import "ViewController.h"#import <CoreLocation/CoreLocation.h>@interface ViewController () <CLLocationManagerDelegate>/** 全局定位對象 */@property (nonatomic,strong)CLLocationManager *locationManager;@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];CLLocationManager* locationManager = [[CLLocationManager alloc] init];// 設置定位精確度locationManager.desiredAccuracy = kCLLocationAccuracyBest;// 設置定位變化最小距離locationManager.distanceFilter = ;// 設置定位服務的使用狀態[locationManager requestWhenInUseAuthorization]; locationManager.delegate = self;if ([CLLocationManager locationServicesEnabled]) {[locationManager startUpdatingLocation];}else{NSLog(@"本機不支持定位服務功能");}self.locationManager = locationManager;}// 定位失敗調用的代理方法-(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{NSLog(@"錯誤信息:%@",error);}// 定位數據更新調用的代理方法-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations{if (locations.count > ) {CLLocation* location = locations.lastObject;CLLocationCoordinateD coordinateD = location.coordinate;NSString* message = [NSString stringWithFormat:@"經度:%lf,維度是:%lf",coordinateD.longitude,coordinateD.latitude];UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"顯示當前位置的經緯度"                 message:message delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"確定", nil];[alertView show];}}@end 

以上是小編給大家分享的IOS入門筆記之地理位置定位系統,希望對大家有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久亚洲精品成人| 欧美肥老妇视频| 91在线观看免费| 精品国产一区二区三区久久| 日韩精品在线免费观看| 欧美国产视频一区二区| 久久成人一区二区| 色视频www在线播放国产成人| 亚洲精品成人久久电影| 国产成人一区三区| 中文字幕久热精品在线视频| 欧美日韩亚洲一区二区三区| 亚洲国产精品久久91精品| 久久久久久久久久久成人| 亚洲精品久久久久| 欧美日韩加勒比精品一区| 欧美色道久久88综合亚洲精品| 一区二区三区美女xx视频| 国产精品一久久香蕉国产线看观看| 国产成人自拍视频在线观看| 国产精品aaa| 国产亚洲精品一区二区| 91中文在线视频| 精品国内亚洲在观看18黄| 97视频在线观看免费| 亚洲va国产va天堂va久久| 国产成人短视频| 久久精品色欧美aⅴ一区二区| 欧美亚洲一区在线| 国产日韩欧美一二三区| 69**夜色精品国产69乱| 亚洲男人天堂网站| 欧美成人精品在线| 岛国精品视频在线播放| 欧美高清videos高潮hd| 日韩中文字在线| 亚洲日本欧美中文幕| 亚洲欧美在线一区二区| 国产美女搞久久| 成人福利在线视频| 国产欧美 在线欧美| 国产欧美日韩视频| 久久777国产线看观看精品| 清纯唯美日韩制服另类| 欧美亚洲激情视频| 国产一区二区香蕉| 欧美一级在线亚洲天堂| 亚洲欧美国产日韩中文字幕| 成人国产精品久久久久久亚洲| 91亚洲国产成人精品性色| 久久久精品视频在线观看| 国产一区深夜福利| 欧美黑人巨大xxx极品| 国产成人精品视频在线| 久久久亚洲国产天美传媒修理工| 日韩专区中文字幕| 精品毛片三在线观看| 69**夜色精品国产69乱| 色悠悠国产精品| 成人午夜激情免费视频| 国产成人av网| 国产欧美日韩专区发布| 欧美尤物巨大精品爽| 国产精品久久久久久婷婷天堂| 欧美国产一区二区三区| 成人在线视频福利| 成人网址在线观看| 亚洲日本欧美日韩高观看| 综合136福利视频在线| 精品女同一区二区三区在线播放| 亚洲香蕉成人av网站在线观看| 久久久国产91| 久久久亚洲欧洲日产国码aⅴ| 91国语精品自产拍在线观看性色| 国产精品美女久久久久av超清| 色悠悠国产精品| 日本不卡视频在线播放| 久久久久久久电影一区| 欧美一区视频在线| 欧美极品少妇xxxxⅹ喷水| 欧美日韩亚洲系列| 欧美最猛性xxxxx亚洲精品| 国产精品高清在线观看| 亚洲欧美综合图区| 成人在线小视频| 日韩中文第一页| 91精品国产91久久| 国产成+人+综合+亚洲欧洲| 亚洲国产另类久久精品| 亚洲精品网址在线观看| 久久精品99久久久香蕉| 欧美成人性色生活仑片| 亚洲第一黄色网| 欧美理论片在线观看| 国产91九色视频| 国产精品盗摄久久久| 亚洲成人av片在线观看| 亚洲精品www久久久久久广东| 97精品欧美一区二区三区| 一区二区三区在线播放欧美| 日韩成人在线视频观看| 51ⅴ精品国产91久久久久久| 欧美洲成人男女午夜视频| 91产国在线观看动作片喷水| 日韩免费av在线| 奇米影视亚洲狠狠色| 国产精品久久久999| 亚洲一二在线观看| 久久这里有精品| 亚洲欧美激情在线视频| 亚洲欧美精品一区| 欧美裸体男粗大视频在线观看| 另类图片亚洲另类| 亚洲欧洲午夜一线一品| 国产精品av网站| 欧美孕妇与黑人孕交| 国产精品三级美女白浆呻吟| 日韩欧美精品在线观看| 亚洲一区二区福利| 久久精品国产亚洲精品| 久久久www成人免费精品| 亚洲综合在线做性| 国产精品成久久久久三级| 尤物九九久久国产精品的特点| 日韩欧美中文字幕在线播放| 亚洲欧美国产日韩天堂区| 欧美—级a级欧美特级ar全黄| 国产色综合天天综合网| 欧美电影免费观看电视剧大全| 亚洲国产精品专区久久| 97视频在线观看视频免费视频| 日韩精品一二三四区| 日韩亚洲国产中文字幕| 亚洲免费高清视频| 亚洲午夜未满十八勿入免费观看全集| 久久中文字幕在线视频| 国产欧美一区二区| 精品久久久久久久久久久久| 91成人天堂久久成人| 日韩成人xxxx| 亚洲免费视频一区二区| 欧美国产日韩精品| 国产成人一区二区三区| 久久好看免费视频| 亚洲久久久久久久久久| xxav国产精品美女主播| 国产91九色视频| 大胆人体色综合| 国产+成+人+亚洲欧洲| 日韩欧美国产激情| 国产一区二中文字幕在线看| 欧美激情极品视频| 中文字幕日韩欧美在线| 亚洲欧美日本另类| 日韩精品www| 国产美女91呻吟求| 精品久久久久久中文字幕一区奶水| 亚洲欧美另类自拍| 欧美一级视频一区二区| 亚洲天堂av在线免费观看| 欧美高清视频在线播放| 日韩av影视综合网| 亚洲黄页视频免费观看| 日韩精品中文在线观看|