iOS開發 iOS8地理位置定位

2021-09-06 21:49:08 字數 1926 閱讀 7192

心的框架corelocation,框架提供了一些服務可以獲取和定位使用者當前的位置。服務會通過一種低功耗的方式通知使用者地理位置的變化,ios中三種地位方式,

wifi定位(通過查詢乙個wifi路由器的地理位置的資訊),

蜂窩基站定位(通過移動運用商基站定

位)和gps衛星定位(準確度最高,耗電量最大)。

1.新建乙個ios專案,在viewcontroller中匯入核心框架(

#import );

2.定義乙個

cllocationmanager變數,

實現cllocationmanagerdelegate協議,

cllocationmanager負責具體的實現;

viewcontroller.h中**:

#import #import @inte***ce viewcontroller : uiviewcontroller

@end

viewdidload方法中**:

self.view.backgroundcolor=[uicolor greencolor];

if (nil == mylocationmanager)

mylocationmanager = [[cllocationmanager alloc] init];

mylocationmanager.delegate = self;

//設定定位的精度

mylocationmanager.desiredaccuracy = kcllocationaccuracykilometer;

//設定定位服務更新頻率

mylocationmanager.distancefilter = 500;

if ([[[uidevice currentdevice] systemversion] doublevalue]>=8.0)

[mylocationmanager startupdatinglocation];

效果圖如下:

3.如果不能彈出以上資訊,你需要在info.plist檔案中設定一下,加入乙個nslocationwheninuseusagedescription(前台獲取gps定位),nslocationalwaysusagedescription(前後臺獲取gps定位),value可以為空;

4.常用方法呼叫:

大多數協議中都會包含乙個處理失敗的方法,corelocationdelegate中的didfailwitherror:

-(void)locationmanager:(cllocationmanager *)manager didfailwitherror:(nserror *)error
獲取變化的之後地理位置didupdatelocations,locations是按時間先後順序的集合:

//地理定位完成之後的乙個陣列

-(void)locationmanager:(cllocationmanager *)manager didupdatelocations:(nsarray *)locations

獲取地理位置變化的起始點和終點,didupdatetolocation:

- (void)locationmanager:(cllocationmanager *)manager didupdatetolocation:(cllocation *)newlocation fromlocation:(cllocation *)oldlocation

iOS開發 iOS8地理位置定位

心的框架corelocation,框架提供了一些服務可以獲取和定位使用者當前的位置。服務會通過一種低功耗的方式通知使用者地理位置的變化,ios中三種地位方式,wifi定位 通過查詢乙個wifi路由器的地理位置的資訊 蜂窩基站定位 通過移動運用商基站定 位 和gps衛星定位 準確度最高,耗電量最大 1...

iOS 8 地理位置定位較前版本系統的區別

ios針對定位提出了新的要求,在這之前,只要有請求地理位置資料的操作,ios將會彈出乙個框要求使用者接受或者拒絕請求,但是ios 8預設是沒有的,所以需要自行新增 1 在info.plist中新增下面兩個key,布林型別,值為true nslocationwheninuseusagedescript...

HTML5 地理位置定位API(3)

html5 地理位置定位例項 並對比不同瀏覽器執行效果給出參考結果,需要的朋友可以參考下 html5 獲取座標 如下 複製 如下 點選這個按鈕,獲得您的座標 試一下經測試,在ie9 firefox chrome opera上都可以成功獲取到座標位置,但是safari 5.x上卻不能返回座標,暫時木有...