iPhone: Getting Your Location


Getting Your Location

เรามาศึกษาวิธีหาพิกัดละติจูด ลองจิจูด ณ ตำแหน่งที่เราอยู่กันดีกว่าครับ เพราะมันจะได้นำไปใช้กับงาน AR ของเราด้วย การดึงการตำแหน่งปัจจุบันของเรานั้น ดึงจากตำแหน่ง GPS ของเครื่อง iPhone ครับ โดยจะใช้คลาส CLLocationManager เป็นตัวช่วยในการดึงค่าออกมา ทำอย่างไรนั้นไปดูกัน

ขั้นตอนมีดังต่อไปนี้

1. add existing frameworks -> CoreLocation.framework

2. สร้างตัวแปร CLLocationManager และเซ็ต delegate

ในฟังก์ชั่น ViewDidLoad


CLLocationManager *locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self; //เซ็ต delegate เพื่อรับค่าตำแหน่งปัจจุบัน
locationManager.distanceFilter = kCLDistanceFilterNone; //เซ็ตให้ทำการปรับปรุงตำแหน่งตลอดเมื่อมีการอัพเดทตำแหน่ง
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters; //เซ็ตค่าความละเอียดของหน่วยวัดระยะ
[locationManager startUpdatingLocation];//สั่งให้ LocationManager เริ่มการอัพเดทตำแหน่ง

3. ในฟังก์ชั่น delegate.. -(void) locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation  นี้หละเราจะได้รับค่าของ ตำแหน่ง ปัจจุบันของเรามาใช้งาน


-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{

/*เมื่อถึงเวลาอัพเดทตำแหน่ง โปรแกรมเข้ามาทำงานที่ฟังก์ชั่นนี้ และค่าที่เราใช้ได้
ได้แก่ newLocation คือตำแหน่งอัพเดท oldLocation คือตำแหน่งเก่า
วิธีการใช้งานที่จะดึงค่า ละติจูด ลองจิจูดออกมา
ละติจูดของ new location ใช้คำสั่ง newLocation.coordinate.latitude
ลองจิจูดของ new location ใช้คำสั่ง newLocation.coordinate.longitude
ละติจูดของ old location ใช้คำสั่ง oldLocation.coordinate.latitude
ลองจิจูดของ old location ใช้คำสั่ง oldLocation.coordinate.longitude
*/
}

เพิ่มเติม หากเราอยากจะได้ระยะห่างของตำแหน่งเก่าและตำแหน่งใหม่ ให้ใช้ฟังก์ชั่น distanceFromLocation ดังนี้

[newLocation distanceFromLocation:oldLocation] คือที่ส่งออกมาจะเป็น double

Reference

adaydesign :)

About adaydesign

นักพัฒนาแอพพลิเคชั่นบนโมบาย [iPhone Android] คนหนึ่งซึ่งอยากจะบันทึกเรื่องราวของเส้นทางนักพัฒนาโมบายแอพพลิเคชั่นเอาไว้ในบล็อคน้อยๆ แห่งนี้ เผื่อจะแบ่งบันและแลกเปลี่ยนความรู้ให้กับคนอื่นๆ ได้บ้าง :) Mobile Application Developer; Flash Mobile, iPhone/iPad, Android Mobile Phone/Tablet and Blackberry Playbook.

Posted on เมษายน 21, 2011, in [Dev] iOS, [Link] iOS and tagged , , , , , , . Bookmark the permalink. 1 ความเห็น.

  1. มีมาเป็น vidio หรือเปล่าคะ ต่ายหัดเขียนเกี่ยวกับการดึงค่า gps อยู่

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: