2012-08-24 37 views
6

Tôi có thể tính toán tốc độ thời gian thực trên thiết bị như thế nào? Tôi đã googled rất nhiều nhưng tất cả tôi đã nhận là để tính toán khoảng cách và tốc độ sau khi hoàn thành cuộc hành trình. Tôi có thể tính toán tốc độ khi chạy không?CLLocationManager - Tính toán tốc độ thời gian thực trên iPhone

Đề xuất sẽ được đánh giá cao.

Xin cảm ơn trước.

Trả lời

2

tại đây CLLocationManager lớp cung cấp các trường vị trí khác nhau như, Latitude, Kinh độ, độ chính xác và tốc độ.

tôi sử dụng CoreLocationController như vậy cho cập nhật vị trí i gọi phương thức dưới đây bạn có thể nhận được tốc độ hiện tại trong - (void) locationUpdate: (CLLocation *) vị trí phương pháp như dưới đây

- (void)locationUpdate:(CLLocation *)location 
{ 
    NSString *currentspeed = [NSString stringWithFormat:@"SPEED: %f", [location speed]]; 
} 

hoặc dưới là phương pháp đại biểu

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 
{ 
    NSLog(@"in update to location"); 
    NSString *currentspeed = [NSString stringWithFormat:@"SPEED: %f", [newLocation speed]]; 
} 

bạn cũng có thể nhận được ví dụ từ liên kết này ... http://www.vellios.com/2010/08/16/core-location-gps-tutorial/

tôi hy vọng điều này sẽ giúp bạn ... :)

+0

Thưa, tôi đã đọc liên kết đó và cũng đã thử nó, nhưng nó không hoàn thành mục đích của tôi (không nhận được tốc độ chính xác hoặc gần như chính xác) ... –

+0

ok chỉ cần thử một http://mobileorchard.com/hello -there-a-corelocation-tutorial/ –

+0

cũng ví dụ sdk iOS này tôi sử dụng điều này với cách riêng của tôi như CoreLoactionController ... sử dụng này cũng .... https://developer.apple.com/library/ios/#samplecode /LocateMe/Introduction/Intro.html –

0

Có một đại biểu CLLocationManagerDelegate thêm nó vào tập tin header điều khiển của bạn.

Initialize Location Manager và thiết lập các đại diện trong đó bạn thực hiện các phương pháp đại biểu cho quản lý vị trí như thế này

self.locationManager = [[CLLocationManager alloc] init]; 
self.locationManager.delegate = self; // send loc updates to current class 

và bạn có thể viết phương pháp trong lớp học của bạn

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { 
    NSLog(@"Location Speed: %f", newLocation.speed); 
} 

Đó là nó, bạn sẽ nhận được của bạn cập nhật vị trí trong phương pháp trên với tốc độ cũng như vậy, và nó sẽ kích hoạt càng thường xuyên càng tốt.

+0

Có một ví dụ hoàn chỉnh khác rất tốt ở đây http://www.iphonedevsdk.com/forum/iphone-sdk-development/18209-crazy-speed-gps-myclcontroller-corelocation.html –

+0

@Adeel .... Tham khảo tự động đếm được kích hoạt trong chương trình của tôi, vì vậy ... thông báo lỗi hiển thị của nó "tài sản ủy quyền phải được unsafe_unretained" –

+0

okay, tôi đang cập nhật câu trả lời của tôi, tôi hy vọng nó sẽ hoạt động tốt ngay bây giờ –

Các vấn đề liên quan