ANDROID APP
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
258 บทที่ 10 การระบุตำาแหน่ง<br />
รูปที่ 10.1 ตัวอย่างการใช้ Location Provider เพื่อแสดงตำาแหน่งล่าสุด<br />
ซึ่งใช้งานบนอุปกรณ์แอนดรอยด์โดยตรง<br />
กรรมวิธี: การแปลงข้อมูลพิกัดที่อยู่เป็นข้อมูลที่อยู่<br />
คลาส Geocoder จะมีเมธอดที่ใช้แปลงข้อมูลจากข้อมูลที่อยู่ไปเป็นข้อมูลแบบลองติจูด ละติจูด<br />
(Geocoding) และแปลงข้อมูลแบบลองติจูด ละติจูด กลับไปเป็นข้อมูลที่อยู่ (Reverse Geocoding)<br />
สำหรับการแปลงข้อมูลในแบบหลังนี้จะทำให้ได้ข้อมูลบางส่วน เช่น ชื่อเมือง หรือรหัสไปรษณีย์<br />
ซึ่งรายละเอียดของข้อมูลจะขึ้นอยู่กับ Location Provider<br />
ในงานของเรานี้จะใช้ Reverse Geocoding เพื่อหาที่อยู่จากตำแหน่งปัจจุบันของอุปกรณ์<br />
และแสดงผลลัพธ์บนจอภาพดังรูปที่ 10.2 ซึ่งอินสแตนซ์ของ Geocoder จะเริ่มทำงานด้วยค่าภาษา<br />
ท้องถิ่นในกรณีที่ค่านั้นไม่ตรงกับค่าของระบบ ในที่นี้เราจะกำหนดค่าเป็น Locale.ENGLISH แล้ว<br />
เมธอด getFromLocation() ก็จะแสดงรายการของที่อยู่ที่ใกล้เคียงกับพิกัดในขณะนั้น และค่าสูงสุด<br />
ของจำนวนรายการที่จะนำมาแสดงนั้น จะถูกกำหนดให้มีค่าเป็น 1 เพื่อให้ได้ที่อยู่ที่ใกล้เคียงที่สุดเพียง<br />
อันเดียว<br />
คำสั่ง Geocoder จะส่งค่ากลับเป็นรายการของออบเจ็กต์ android.location.Address<br />
การแปลงค่าที่อยู่นี้จะขึ้นอยู่กับเซอร์วิสที่ใช้งาน ซึ่งไม่ได้รวมไว้ในเฟรมเวิร์คของแอนดรอยด์ Google<br />
Map มีการเปิดใช้เซอร์วิส Geocoder ด้วย ซึ่งเราสามารถนำเอาเซอร์วิสนี้มาใช้งานในแอพของเราได้<br />
สำหรับในชุดคำสั่งที่ 10.6 จะแสดงขั้นตอนการทำงานของแอคทิวิตี้หลัก