มีงานใหม่ ที่ยังไม่เคยลอง และก็น่าเล่น มาถึงมือผมจนได้ อาจจะไม่ใช่ของใหม่อะไร แต่ก็เป็นเรื่องที่ท้าทายพอสมควรนั่นก็คือ การใช้ Google Map API กับ PHP และฐานข้อมูล Mysql
งานครั้งนี้ผมลองรับมาทดลองดูก่อน เพราะยังไม่เคยทำ ผมเองก้ไม่ได้เป็น Programmer ด้วย แต่หลังจากลองเล่นได้คืนเดียวก็เห็นอะไรเยอะครับ
โจทย์คือ จะมีระบบฐานข้อมูลเกี่ยวกับโครงการของแต่ละหมู่บ้าน ทั่วประเทศ โดยโครงการนี้ จะมีสถานะอยู่ 3 สถานะ คือ รอส่งเอกสาร, รอการอนุมัติ และ อนุมัติแล้ว หน้าที่ของผมคือ เอาข้อมูลหมู่บ้าน พร้อมสถานะ มาพลอตตำแหน่งลงแผนที่ใน Google Maps
หลักการทำก้คือ ข้อมูลต้องมีชื่อหมู่บ้าน (อาจจะมีที่อยู่เพิ่มเข้ามาก็ได้) สถานะ และ ตำแหน่งละติจูดและลองติจูด เพราะในการพลอตตำแหน่งลงแผนที่ต้องใช้ทั้งสองค่า เพื่อระบุตำแหน่งในตัวโปรแกรม จากนั้นก็กำหนดสถานะว่าจะให้แสดงด้วยอะไร ผมก็เลยลองแบบง่ายๆ ด้วยการแทนตัว Marker เป็นสามสี
ตัวอย่างนี้ ผมลองดัดแปลงจากของเดิม และเพิ่มเติมการทำงานบางอย่างเข้าไป ผลที่ได้ก็พอใช้ได้ครับ
(ข้อมูลทั้งหมด เอามาจากของเดิม + มั่วๆใส่ไปอีกนิดหน่อย)
http://demo.know2pro.com/gmap/
แหล่งข้อมูล (ใช้ในการศึกษาเพื่อเขียนโค้ด Google Map API)
http://newsirius13.thport.com/exp.html แหล่งข้อมุลและตัวอย่างหลัก (ใช้ได้จริง)
http://www.tipsiam.com/Google-Maps-API-for-Google-Map-Mashup.htm ข้อมูลพื้นฐาน อ่านแล้วงงบ้าง โค้ดก็ใช้ได้บ้างไม่ได้บ้าง เอาไว้ดูรายละเอียดลึกๆ
http://googib.wordpress.com/ การใช้ API แบบลึกมากขึ้น
http://www.googlemaps.in.th/2009/02/hello-world-google-maps.html ตัวอย่างการเขียนแบบเริ่มต้น
http://map.tipsiam.com/ ตัวอย่างการประยุกตืใช้ Google Maps กับงานจริง
http://www.googlemaps.in.th/2009/02/thailand-travel-map-by-tourism-authority-of-thailand.html ของเก่าแล้ว ดูรูปตัวอย่างไว้เป็นไอเดีย
แหล่งข้อมูลเรื่องแผนที่
http://www.travelmath.com/country/Thailand หาค่าละติจูด ลองติจูดของประเทศไทยhttp://www.mapsofworld.com/lat_long/thailand-lat-long.html ค่าละติจูด ลองติจูดของแต่ละจังหวัด
http://www.easyhorpak.com/bangkok/point_map.php?keyword=thailand&id= หาค่าแบบจิ้มบนแผนที่ ใช้ง่ายมาก กดปุ๊บ รู้ค่าละติจูด ลองติจูด ทันที
http://map.rimnam.com/ เหมือนเว็บด้านบน แต่ Map เล็กกว่า
http://th.wikipedia.org/wiki/พิกัดภูมิศาสตร์
ข้อมุลเพิ่มเติม
การแปลงองศาแบบ องศา-ลิปดา-พิลิปดา หรือ องศา-ลิปดา เป็นองศาแบบทศนิยม ทำได้ดังนี้
นำพิลิปดาหาร 3600
นำลิปดาหาร 60
นำผลที่ได้จากข้อ 1 และ 2 บวกกัน แล้วนำไปบวกกับองศา ก็จะได้องศาแบบทศนิยม
เช่น เชียงใหม่
ละติจูด 18°47’N = 18+(47/60) = 18.78333
ลองติจูด 98°59’E = 98+(59/60) = 98.98333
หรือจะแปลงค่า จากเว้บนี้ก็ได้ http://www.mapsmile.com/convert.php
No comments: