心的框架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上卻不能返回座標,暫時木有...