0
A
回答
3
可以使用CoreLocation framework
核心位置框架有一個重要的類CLLocationManager
。
CLLocationManager
類可以在更改位置時隨時向代理髮送更新。它使用代理CLLocationManagerDelegate
協議。
,你可以使用它像
#import <CoreLocation/CoreLocation.h>
@interface ViewController : UIViewController
<CLLocationManagerDelegate>
{
CLLocationManager *locationManager;
}
在viewDidLoad中設立的LocationManager這樣
- (void)viewDidLoad {
[super viewDidLoad];
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m
[locationManager startUpdatingLocation];
}
實施得到改變位置
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
NSInteger degrees = newLocation.coordinate.latitude;
double decimal = fabs(newLocation.coordinate.latitude - degrees);
int minutes = decimal * 60;
double seconds = decimal * 3600 - minutes * 60;
NSString *lattitudeStr = [NSString stringWithFormat:@"%d° %d' %1.4f\"",
degrees, minutes, seconds];
lattitudeLabel.text = lattitudeStr;
degrees = newLocation.coordinate.longitude;
decimal = fabs(newLocation.coordinate.longitude - degrees);
minutes = decimal * 60;
seconds = decimal * 3600 - minutes * 60;
NSString *longitudeStr = [NSString stringWithFormat:@"%d° %d' %1.4f\"",
degrees, minutes, seconds];
longitudeLabel.text = longitudeStr;
}
1
您可以使用CLLocationManager
來獲取當前lat和長。 創建一個iVar
的CLLocationManager
並使用它。
下面是代碼:
- (void)viewDidLoad
{
[super viewDidLoad];
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
NSLog(@"OldLocation %f %f", oldLocation.coordinate.latitude, oldLocation.coordinate.longitude);
NSLog(@"NewLocation %f %f", newLocation.coordinate.latitude, newLocation.coordinate.longitude);
currentLat = [NSString stringWithFormat:@"%f",newLocation.coordinate.latitude];
currentLong = [NSString stringWithFormat:@"%f",newLocation.coordinate.longitude];
}
0
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
CLLocation* currentLocation = [locationManager location];
NSString *loc = [NSString stringWithFormat:@"%f,%f",currentLocation.coordinate.latitude, currentLocation.coordinate.longitude];
NSLog(@"location:%@", loc);
0
您可以通過使用CLLocationManager如果該設備具有WiFi或移動數據服務中獲得不帶GPS當前位置。這個位置不會像你從GPS那裏得到的那樣準確,但你得到的結果比GPS更快。
您可以通過將desiredAccuracy屬性設置爲kCLLocationAccuracyKilometer來從CLLocationManager請求非GPS位置。
0
使用斯威夫特
下面委託mehodimport CoreLocation
獲取當前位置
let locationManager = CLLocationManager()
locationManager.distanceFilter = kCLDistanceFilterNone
locationManager.desiredAccuracy = kCLLocationAccuracyBest
//get the most recently retrieved user location
if let currentLocation = locationManager.location {
let longitude = currentLocation.coordinate.longitude
let latitude = currentLocation.coordinate.latitude
//work with the received data
}
注意locationManager.location
是可選的,因此應該是安全地展開。
相關問題
- 1. 如何從我的android設備獲取當前的經度和緯度
- 2. 如何獲取WP7中仿真器設備的當前經度和緯度值?
- 3. 如何從移動設備獲取經度和緯度Android
- 4. 從gps啓用設備獲取當前的經緯度
- 5. 如何通過網頁在移動設備上獲取當前緯度/經度?
- 6. 我如何獲得我的Android設備的經度和緯度
- 7. 無法獲取真實設備的android的經度和緯度
- 8. android gps設備獲取緯度和經度所用的時間
- 9. 如何獲取android移動設備當前位置的經緯度?
- 10. 如何從設備GPS系統快速獲取當前經緯度
- 11. 如何獲取移動設備的經緯度?
- 12. 獲取設備經緯度顯示爲空
- 13. 如何在android中使用python獲取移動設備的當前緯度和經度?
- 14. 如何獲取Android中當前位置的緯度和經度?
- 15. 如何獲取黑莓當前位置的經度和緯度?
- 16. 如何獲取當前緯度,經度和縮放jQuery的gmap3
- 17. Abt檢索設備的經度和緯度
- 18. Android - 如何獲取當前位置(經度和緯度)?
- 19. 如何獲取當前位置(經度和緯度)
- 20. 如何在Android設備上存儲大量經度/緯度
- 21. shell腳本從谷歌地圖API獲取設備當前位置的經度和緯度
- 22. 獲取用戶當前的經/緯度
- 23. 獲取當前的經緯度
- 24. 獲取當前位置的經緯度
- 25. 獲取緯度和經度
- 26. 獲取經度和緯度
- 27. 獲取當前位置經緯度和LNG在地圖上的準備
- 28. 獲取當前經緯度加500米
- 29. 獲取當前位置的緯度和經度的問題
- 30. 當前經緯度
正常工作,,,,, – ravinder521986