ANDROID APP
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
การใช้ Google Maps<br />
ในชุดคำสั่งที่ 10.11 ในส่วนของคำสั่งที่แสดงเป็นตัวหนานั้น มีคำอธิบายประกอบ ดังนี้<br />
269<br />
m mOverlays ถูกสร้างขึ้นเพื่อจัดเก็บข้อมูลของไอเทมทั้งหมด และส่งผ่านค่าดังกล่าวไปยัง<br />
Overlay<br />
m เราจะต้องกำหนดจุดเชื่อมต่อของแต่ละไอเทมที่จะนำไปวางบนแผนที่ก่อนที่จะวาดจุดจาก<br />
ไอเทมดังกล่าว การอ้างอิงถึงตำแหน่งตรงกลางด้านล่างของแผนที่นั้น เราจะใช้คำสั่ง<br />
boundCenterBottom ใส่ไว้ในคลาสหลักของแอพ<br />
m เมธอดที่ต้องโอเวอร์ไรด์คือ addOverlay(), createItem(), size() และ onTap()<br />
ซึ่งคำสั่ง onTap() จะใช้แสดงข้อความไดอะล็อกบ็อกซ์เมื่อมีการคลิกที่จุด<br />
m เมธอด populate() และคำสั่ง addOverlay() ที่เพิ่มในช่วงท้ายของเป็นการแจ้งให้<br />
คลาส MyMarkerLayer เตรียมอีลีเมนต์ OverlayItem ทั้งหมด และวาดจุดแต่ละจุดลง<br />
บนแผนที่<br />
หลังจากนี้เราก็สามารถนำ ItemizedOverlay ไปเพิ่มใน MapActivity ที่สร้างไว้ในตัวอย่าง<br />
ก่อนหน้านี้ได้เลย ซึ่งในชุดคำสั่งที่ 10.11 ในส่วนของคำสั่งที่แสดงเป็นตัวหนานั้น มีคำอธิบายประกอบ<br />
ดังนี้<br />
1. เราจะใช้คำสั่ง getOverlays() ของคลาส MapView ในการตรวจสอบหา Overlay ที่มี<br />
การใช้อยู่แล้วบนแผนที่ โดยที่เราจะเพิ่มเลย์เยอร์ของการวางจุดไว้ในคอนเทนเนอร์นี้<br />
ในส่วนท้ายของฟังก์ชั่น<br />
2. อินสแตนซ์ MyMarkerLayer ใช้เก็บข้อมูลของ OverlayItem<br />
3. การอ่านค่าละติจูดและลองติจูดของข้อมูลที่อยู่นั้น เราจะใช้คลาส GeoPoint ซึ่งค่าที่ได้<br />
จะมีหน่วยเป็นไมโครดีกรี ดังนั้นค่าละติดจูดและลองติจูดที่ได้จะต้องนำไปหารด้วยค่า<br />
1,000,000 ก่อนเสมอ<br />
4. ผู้ใช้งานสามารถใช้ตัวควบคุมแผนที่ในการย่อและขยายวิว ซึ่งทำได้โดยใช้คำสั่ง<br />
setBuiltInZoomControls() เพื่อควบคุมการย่อและขยายวิว<br />
5. กำหนด OverlayItem ชนิดข้อความเพิ่มเติมให้แก่ GeoPoint เพื่อความน่าสนใจของ<br />
แอพ<br />
6. เพิ่มไอเทมลงใน MyMarkerLayer โดยใช้เมธอด addOverlayItem() และเพิ่ม<br />
MyMarkerLayer นี้ลงไปใน Overlay ที่มีอยู่แล้ว ซึ่งใช้คำสั่ง getOverlay() ในการ<br />
ตรวจสอบ<br />
ชุดคำสั่งที่ 10.12 src/com/cookbook/adding_markers/MyLocation.java<br />
package com.cookbook.adding_markers;<br />
import java.io.IOException;<br />
import java.util.List;<br />
import android.content.Context;<br />
import android.graphics.drawable.Drawable;