• Your Big Data and social media solution partner

ปัจจุบันนี้ Google ได้เปิดบริการเรียกการเชื่อมต่อกับ Google Maps ถึง 2 เวอร์ชั่นคือ Google Maps API V2 และ V3 (หรือ GMAP2 และ GMAP3 นั่นเอง) หลายคนอาจจะงงว่า เอ๊ แล้วเราจะเลือกใช้เวอร์ชั่นไหนดีล่ะ

สำหรับ Google Maps API V2 (GMAP2) เปิดตัวครั้งแรกตั้งแต่เดือนเมษายน ปี 2006 เป็นเวอร์ชั่นที่สเถียรและใช้งานกันอย่างแพร่หลายที่สุดในปัจจุบัน เรียกว่าเกือบทุกๆ เว็บที่พัฒนาเชื่อมต่อกับ Google maps (Map Mashup) ทั้งหลายก็ใช้ GMAP2 กันเกือบทั้งหมด

ส่วน Google Maps API V3 (GMAP3) ที่พึ่งเปิดตัวไปช่วงกลางปี 2009 ที่ผ่านมา ณ.วันนี้ (22/03/2010) GMAP3 ยังถือว่าไม่ใช่เวอร์ชั่นมาตราฐานที่ใช้พัฒนากันทั่วไป เนื่องจากยังอยู่ใน Labs ยังไม่มี Official Release กันอย่างจริงๆ จังๆ แต่เนื่องจากการที่มีคุณสมบัติการเรียกใช้ที่ dynamic มากกว่า จึงทำให้นักพัฒนาหลายๆ กลุ่มเริ่มขยับขยายมาใช้ GMAP3 กันบ้างแล้ว และจากที่ได้พัฒนาบน GMAP3 มาซักพักก็พบว่า การใช้งานโดยทั่วไปก็สเถียรเกือบหมดแล้ว ติดตรงที่พบบักเรื่องการหาระยะทางอีกนิดหน่อย และหาเอกสารอ่านได้ยากกว่า GMAP2 (อาจจะเพราะว่า พึ่งออกนั่นเอง)

GMAP3

(ภาพประกอบ Theme ที่อยู่ใน Lab ของ Computerlogy)

เอาล่ะ เรามาดูข้อแตกต่างสำหรับการเรียกใช้ GMAP2 VS GMAP3 สำหรับการเรียกใช้แบบสุดพื้นฐาน หรือ Hello World กันดีกว่า

เริ่มจากการเรียก Java script ในส่วนบน
GMAP2

[code lang=”html”]
<script src=”//maps.google.com/maps?file=api&amp;v=2&amp;key=abcdefg&sensor=true_or_false”
type=”text/javascript”>
</script>
[/code]

GMAP3

[html]
<script type=”text/javascript” src=”//maps.google.com/maps/api/js?sensor=set_to_true_or_false”>
</script>
[/html]

การจะเรียกใช้ GMAP2 จะต้องอ้างอิงถึง API Key ในทุกๆครั้ง แต่สำหรับ GMAP3 ไม่ต้องแล้ว

ฟังก์ชั่นการเรียกค่าเริ่มต้น (Initialize)
GMAP2

[html]
<script type=”text/javascript”>
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById(“map_canvas”));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
map.setUIToDefault();
}
}
</script>
[/html]

GMAP3

[html]
<script type=”text/javascript”>
function initialize() {
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById(“map_canvas”), myOptions);
}
</script>
[/html]

สังเกตุว่าการเรียกค่าต่างๆ แยกออกเป็นส่วนๆ และมองเป็น Object มากขึ้น

สุดท้ายจบที่ส่วน Body ที่เรียกใช้งาน function ข้างบน
GMAP2

[html]
<body onload=”initialize()” onunload=”GUnload()”>
<div id=”map_canvas” style=”width: 500px; height: 300px”></div>
</body>
[/html]

GMAP3

[html]
<body onload=”initialize()”>
<div id=”map_canvas” style=”width:100%; height:100%”></div>
</body>
[/html]

แทบจะไม่มีอะไรแตกต่างในส่วนนี้

ซึ่งโดยภาพรวมการเรียกใช้ในระดับสูง (Presentation layer) มีข้อแตกต่างกันที่น้อยมาก ส่วนที่จะต้องปรับปรุงแก้ไข หากเปลี่ยนจาก GMAP2 มาเป็น GMAP3 จะเป็นส่วนการเรียกใช้ฟังก์ชั่นต่างๆ ที่ API ให้มาซึ่งจะต้องไปเทียบกันพอสมควรทีเดียว ดังนั้นหากใครกำลังวางแผนจะพัฒนาระบบที่เชื่อมต่อกับ Google Maps API แนะนำว่าให้ตัดสินใจเลือกเวอร์ชั่นให้ดี เพราะคาดว่า GMAP3 ก็จะออกจาก Labs ภายในปี 2010 นี้แน่นอน และฟังก์ชั่นการใช้งานใหม่ๆ ก็ออกมาสำหรับ GMAP3 เท่านั้นซะด้วยซิ