Random Thoughts on Random Things by Tanomsak
Random header image... Refresh for more!

Tutorial แบบบ้านๆ ตอนที่ 1 – Basic Google Maps API

08 Dec 2008

ตอนผมทำเวป ddproperty.com อยากจะเอา Google Maps มาใช้ระบุตำแหน่ง ก็เลยหาข้อมูลจากหลายๆที่ ทั้งดูตัวอย่างจากเวป แล้วก็หาอ่านจาก เอกสารของ google และ Google Maps Tutorial รวมถึงเอกสาร การใช้ Google Maps API ที่ รองศาสตราจารย์สวัสดิ์ชัย เกรียงไกรเพชร รวบรวมไว้ซึ่งละเอียดมากๆ ถ้าใครต้องการเนื้อหาแบบละเอียดๆ ก็ลองอ่านดูได้จาก link ข้างต้นไม่ผิดหวังครับ

แต่ที่ผมจะเขียนนี้ขอเป็น Google Maps Tutorial แบบบ้านๆ รวบรวมเฉพาะส่วนที่ผมใช้เป็นหลักในเวป ddproperty.com โดยจะแบ่งเป็นตอนๆแบบนี้ครับ

  1. Basic Google Maps API
  2. แสดงหมุดจาก database ใน Google Maps
  3. แสดงหมุดจาก database ใน Google Maps ด้วย AJAX
  4. เพิ่มหมุดใน database
  5. ใช้รูปภาพแทนหมุด (Custom Marker Icon)
  6. การทำ Custom marker icon สำหรับ Google Static Maps
  7. ใช้รูปภาพแทนปุม control (Custom Control)
  8. สร้าง info windows แบบลอยนอกแผนที่
  9. แล้วแต่จะคิดออกต่อๆำไปครับ
แต่ก่อนอื่นขอออกตัวไว้ก่อนเลยนะครับ ว่าผมก็ไม่ใช่กูรูอะไร แต่คิดว่าน่าพอจะมีประโยชน์ช่วยให้หลายๆคน เริ่มใช้งานได้เร็วขึ้นเลยเอามาแบ่งบันกัน แนะนำติชมได้เลยนะครับ ยินดีมากๆ

ออกตัวเสร็จแล้วก็เริ่มตอนที่ 1 กันดีกว่า

ในการจะนำ Google Maps มาใส่ในเวปของเราเนี้ยจริงๆแล้วมันมีได้ 2 แบบคือ

  • แบบที่ใช้บริการจำพวก My maps ของ Google แบบนี้ใช้งานง่ายมากแค่แปะ link ในหน้า source code ของเวปก็แสดงแผนที่ได้แล้ว (แนะนำหนังสือ Google Maps มหัศจรรย์แผนที่ออนไลน์ ครับ) แต่ว่ามีข้อจำกัดในการทำลูกเล่นต่างๆและ ไม่สามารถแสดงข้อมูลที่อยู่ใน database ของเราเองได้
  • กับแบบที่แสดงแผนที่โดยใช้ Google Maps API จะสามารถปรับหน้าตาแผนที่ได้ และจะสามารถแสดงหมุดจาก database ของเราเอง หรือเพิ่มหมุดลงใน database ก็ได้ครับ

ที่ผมกำลังจะเขียนถึงเป็นแบบที่สอง คือ Google Maps API ครับ

ขั้นตอนที่ 1: ขอใช้ API Key สำหรับใช้งาน Google Maps

ขั้นแรกก็ต้องขอ API Key จาก Google ก่อนครับ โดยทำได้ง่ายมากๆ แค่มี account ของ google (ก็ account gmail นั้นแหละครับ) ก็เป็นอันใช้ได้ โดยไปที่ http://www.google.com/apis/maps/signup.html พออ่าน Term of Service จบแล้ว ก็ใส่ domain name ของเวปเรา ที่จะใช้ Google Maps API ในกล่้อง My web site ตามรูปครับ

เช่นถ้าจะใช้ Google Maps API กับเวป ddproperty.com ก็ใส่ http://www.ddproperty.com ลงไปจะทำให้สามารถใช้ Google Maps API กับทุกๆหน้าภายใตั domain www.ddproperty.com ได้ (sub domain ไม่ได้นะครับ ต้องขอ API key อันใหม่)

ในช่วง development ที่ยังไม่ได้จด domain ก็ใส่ http://localhost/ ไปได้เลยครับ แล้วก็เข้าหน้าทดสอบผ่านทาง url localhost เอา

สามารถขอได้หมายๆอันนะครับ ไม่ต้องกลัวหมด :) ผมขอมาทดลองหลายอันแล้ว

ขั้นตอนที่ 2: แปะ script สำหรับ Google Maps API และเรียกใช้งาน

พอกด Generate API Key ในขั้นแรกแล้วก็จะได้ API Key มา พร้อมด้วยตัวอย่างการนำไปใช้ในเวปของเราตามรูปข่างล่าง

จริงๆแล้วเจ้า Google Maps API เนี้ยมันก็คือ javascript functions ชุดนึงที่ Google เขียนขึ้นเพื่อให้เราเรียกใช้เพื่อสร้างแผนที่ในเวปเรา จากตัวอย่างที่ได้มาจากการสร้าง API Key จะเห็นได้ว่าการเรียกใช้งาน Google Maps API เนี้ยแบ่งเป็น 4 ส่วนใหญ่ๆครับ

  1. การ include Google Maps API (external javascript จาก google) เข้ามาในหน้าเวปเรา ตาม script ข้างล่างโดย v=2 หมายถึง API version 2 ซึ่งเป็นเวอร์ชั่นหลักในปัจจุบัน และ key=api_key ก็คือค่า API Key ของเราถ้าพัฒนาเสร็จแล้วก็ไปขอ API Key ใหม่โดยใช้ domain name ของจริงแล้วก็นำมาแทนที่ตรงนี้ครับ
  2. <script src="http://maps.google.com/maps?file=api&amp;amp;amp;amp;amp;amp;amp;amp;v=2&amp;amp;amp;amp;amp;amp;amp;amp;key=ABQIAAAAeNsNnRXUdrpgSw3qfvhz5hT2yXp_ZAY8_ufC3CFXhHIE1NvwkxQKXEKxoc7nW6rPe_Qv-bqip6q6Kw" type="text/javascript"></script>
    
  3. เขียน javascript เพื่อเรียกใช้งาน Google Maps API จาก script จะเห็นการเรียก function GBrowserIsCompatible() เพื่อเป็นการตรวจสอบว่า browser รองรับหรือเปล่าก่อนจะสร้าง object map อันนี้เป็น pattern ในการเริ่มสร้าง map เลยครับ ที่อยากให้สังเกตุอีกอันนึงคือ GMap2(document.getElementById(“map”)); parameter ที่ใช้ในการสร้าง object GMap2 เป็นชื่อของ DIV Element ที่จะให้ google ใช้เป็นพื้นที่ของแผนที่
  4. <script type="text/javascript">// <![CDATA[
    
    //<![CDATA[
    
    function load() {
    if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(37.4419, -122.1419), 13);
    }
    }
    
    // ]]></script>
    
  5. ต่อไปก็เป็นส่วนเรียกใช้ function load() ที่เขียนเอาไว้ โดยจากตัวอย่างของ Google เค้าเขียนง่ายๆ โดยการผูกกับ Event onload ของ Page body ส่วน GUnload() ที่ผูกไว้กับ Event onunload เป็น function ของ Google Maps ครับ เอาไว้ release memory ป้องกันพวก memory leak ประมาณนั้น ใส่ไว้กันเหนียว
  6. 
    
  7. จาก script ในข้อ 3 อยากให้สังเกตุ DIV Element ที่มี id=”map” ครับ พื้นที่ตรงนี้แหละครับที่จะถูกแสดงแผนที่ ตามที่เรากำหนดไว้ใน function load() ในส่วนที่ 2 เราสามารถกำหนดขนาดเล็กใหญ่ของแผนที่ได้ โดยกำหนด style ให้กับ DIV Element อันนี้ครับ

เท่านี้ก็เป็นอันเสร็จการเพิ่มแผนที่ Google Maps เข้าไปในเวปของเราแล้วครับ ลองดูผลงานจากตัวอย่าง เขียนไปเขียนมาทำไมมันยาวจัง แล้วตอนต่อไปมันจะยาวขนาดไหนเนี้ย :)

ผมเขียนแล้วอ่านรู้เรื่องไหมครับ แนะนำและแสดงความคิดเห็นใน comment นะครับ แล้วจะนำไปปรับปรุงสำหรับตอนต่อๆไปครับ

  • ขอบคุณครับผม..เจ๋งมากครับ...หูตาสว่างขึ้นเยอะเลยครับผม
  • ขอบคุณสำหรับเนื้อหาดีๆ ครับ
    ผมกำลังทำเว็บเพื่อให้ความรู้เกี่ยวกับการทำเว็บแผนที่ Google map เหมือนกันครับ Theme ของ Blog ของผม จะออกแนวชวนผู้อ่านสร้างเว็บแผนที่ด้วย Google map ครับ โดยผมจะค่อยๆ แทรกเนื้อหาด้านเทคนิคต่างๆ เข้าไปให้ผู้อ่านได้รับสาระแบบไม่เครียดเกินไป ผมลองดู search ดูเว็บไทยที่ให้ความรู้ลักษณะเดียวกันดู ก็เจอเว็บนี้ล่ะครับ เนื้อหากระชับดีครับ แต่เสียดายจังเลยครับที่ link ของรองศาสตราจารย์สวัสดิ์ชัย เกรียงไกรเพชร (ด้านบน) มัน link ไปเจอ Error 404 ครับ
    ว่างๆ ก็แวะเข้าไปติชมกันบ้างนะครับ http://www.triphunsa.com/blog
  • tanomsak
    ยินดีที่มีคนสนใจเรื่องนี้ แถมยังทำเวปที่น่าสนใจขึ้นมาด้วยครับ แล้วจะคอยติดตามครับ
  • aofkub0819679369
    ทำไมข้อ 3 ถึงมองไม่เห็นโค้ดครับ
  • KU57
    รู้สึกดีใจที่เข้ามาเจอนาย
    คือเราสนใจ ที่เอา Google Map มาใช้กับงานของ บริษัท แต่กลัวความลับของบริษัทหลุด ไม่รู้ว่าควรทำอย่างไร
    เนื่องจากว่าเพิ่งสนใจ ใน Google Map แต่เดิมเคยใช้ GGE แต่ GGE ไม่มี แผนที่แบบ Google Map พอพิมพ์ข้อมูลออกมามองไม่เห็นชื่อถนน
  • boomiejy
    พี่ตอบcommentเร็วจังค่ะ ^^

    พี่คะๆพี่เขียน tutorial ข้างๆผิดปะคะเปนตัว U แทน O นะค่ะ

    Tuturials <<อ่ะคะ
  • tanomsak
    ขอบคุณครับที่ช่วยดู แก้ไขแล้วครับ :)
  • boomiejy
    กำลังจะทำโปรเจคต้องใช้เรื่องนี้เหมือนกันคะ

    ขอบคุนที่แบ่งปันความรู้ค่ะ
  • tanomsak
    ยินดีที่มีประโยชน์ครับ
  • dashzaki
    พี่ครับผมกำลังทำโปรเจ็ค ผมจะเขียนค่าจาก form แล้วส่งมาไปที่ฝั่ง server แล้วให้มันแสดงค่าบน google map ต้องทำไงอ่ะครับ ถ้าพี่งง ประมาณนี้เลยครับ http://tourismthailand.org/google_map/index.php#
  • มือใหม่
    อยากทราบว่าสามารถทำ google map บอกระยะทางได้ไหมค่ะ เช่น จากกรุงเทพไปเชียงใหม่เป็นระยะทางเท่าไหร่
  • tanomsak
    ได้ครับ ใช้ GDirections ครับ

    // map คือ ตัวแปลที่เรา define GMap2 ครับ ส่วน routes คือ div ที่เอาไว้แสดงคำอธิบายเส้นทาง

    var dirn = new GDirections(map, document.getElementById("routes"));
    dirn.load("from: 12.841101,100.555886 to: 13.841101,100.575886");
  • มือใหม่
    อยากทราบว่า Google Map สามารถเขียนโค๊ดบอกระยะทางได้หรือเปล่าค่ะ เช่น กรุงเทพไปเชียงใหม่ ค่ะ
  • tstafnvfsi
    เป็นบทความที่ดีมากๆเลยครับ ขอบคุณมากครับ กำลังสนใจเรื่องนี้อยู่พอดีเลย ^^
  • admintater
    พี่ครับผมนำ map ลงเว็บได้แล้ว
    แต่ภาษาอ่านไม่ออกนะครับ
    ต้องแก้ยังไงครับ
  • tanomsak
    หมายถึงภาษาตรงไหนครับ
  • admintater
    พี่ครับติดตรงที่เปลี่ยนโหมด map เช่น แผนที่ ดาวเทียม นะครับ
    ต้องใช้ Code ตัวไหนครับ
    ขอบคุณล่วงหน้าครับ
  • admintater
    ขอบคุณครับ
    กำลังอยากได้อยู่พอดี
    ศึกษาเว็บอื่นก็มีแต่ภาษาอังกฤษเข้าใจยากนะครับ
  • ขอถามคุณ tanomsak และท่านที่ทราบเกี่ยวกับ google map api ครับ
    ผมติดปัญหาตรงที่ อยากทำเป็นทำ Link ด้วยภาพจาก PAGE อื่น ๆ หลาย หน้า ครับ ไปที่ marker แต่ marker ครับ โดย marker แต่ละอันสร้างจาก xml ครับ ติดตรงที่จะทำ Link ไปหา marker ยังไงครับเมื่ออคลิกที่ ภาพลิ้งค์ ให้มาร์คเกอร์ ที่เราลิ้งไปหาแอคทีพ แล้วโชว์ infowindow เลยครับ ผมหามาหลายวันแล้ว ไม่ค่อยมีคนเขียนเลยครับ

    ขอคุณครับ
    ตี๋
  • ขอถามคุณ tanomsak และท่านที่ทราบเกี่ยวกับ google map api ครับ
    ผมติดปัญหาตรงที่ อยากทำเป็นทำ Link ด้วยภาพจาก PAGE อื่น ๆ หลาย หน้า ครับ ไปที่ marker แต่ marker ครับ โดย marker แต่ละอันสร้างจาก xml ครับ ติดตรงที่จะทำ Link ไปหา marker ยังไงครับเมื่ออคลิกที่ ภาพลิ้งค์ ให้มาร์คเกอร์ ที่เราลิ้งไปหาแอคทีพ แล้วโชว์ infowindow เลยครับ ผมหามาหลายวันแล้ว ไม่ค่อยมีคนเขียนเลยครับ

    ขอคุณครับ
    ตี๋
  • blossom
    ขึ้นแบบนี้ แก้ไขยังงัยดีคะ

    The Google Maps API server rejected your request. The "sensor" parameter specified in the request must be set to either "true" or "false".
  • blossom
    แก้ได้แล้วค่ะ เอา sensor ออกซะเลย
  • tanomsak
    กำลังจะตอบเลยครับ :)
  • blossom
    มันขี้นแบบนี้แล้ว ก็ไม่ขึ้นรูปเลย ต้องแก้ไขยังงัยคะ

    The Google Maps API server rejected your request. The "sensor" parameter specified in the request must be set to either "true" or "false".
  • flukenakrab
    ทำยังไงให้ใช้ ID ของ Facebook ได้ด้วยอะครับ ><
  • tanomsak
    หมายถึง comment ใช่ไหมครับ

    ผมใช้ comment system ชื่อ disqus ครับ ไม่ใช่ standard ของ wordpress เค้ามี feature รับ id facebook, กับ twitter ให้เรียบร้อยเลย ดีมากๆเลยครับ
  • moomoo
    จากข้อความ

    4.จาก script ในข้อ 3 อยากให้สังเกตุ DIV Element ที่มี id=”map” ครับ พื้นที่ตรงนี้แหละครับที่จะถูกแสดงแผนที่ ตามที่เรากำหนดไว้ใน function load() ในส่วนที่ 2 เราสามารถกำหนดขนาดเล็กใหญ่ของแผนที่ได้ โดยกำหนด style ให้กับ DIV Element อันนี้ครับ


    ข้อ 3 Script ไม่มี ลืมใส่หรือไม่ ถ้าลืมรบกวนด้วยครับ อยากได้ความรู้มากเลยจุดนี้อะครับ climax ขอบพระคุณล่วงหน้าอย่างสูง
  • ขอบคุณมาก ครับเิ่มเข้าใจ แล้ว
    เด้วต้องหาวิธีที่ระเอียดกว่านี้ต่อ

    เป็นก้าวแรกที่ดีครับ
  • Name
    อยากถามพี่ tanomsak ว่า สามารถทำให้ google map แสดงเส้นทางมากกว่า 1 เส้นทางได้ไหมค่ะ ช่วยตอบด้วยน่ะค่ะ ขอบคุณค่ะ
  • tanomsak
    เท่าที่ทราบ ตัว API ยังไม่ support alternative routes ครับ แต่ว่า Google Maps มีแล้วไม่นานน่าจะมีใน API ด้วยครับ

    ถ้าใครทราบก็ลองแนะนำได้ครับ
  • สวัสดีครับ

    ผมเจอ blog ของคุณจนได้ รออ่านตอนต่อไปอยู่นะครับ ขอบคุณมากครับที่สอนผ่าน blog นี้ครับ จะเข้ามาอ่านทุกอาทิตย์เลยครับ
  • tanomsak
    ยินดีที่มีประโยชน์ครับ ถ้ามีอะำไรสงสัยหรือ มีคำแนะนำก็ยินดีนะครับ แล้วเจอกันแถวๆนี้บ่อยๆนะครับ
  • rung
    โค้ดตรงส่วนไหนอ่ะค่ะ
    ที่บอกว่าให้เลือว่าจะเอาแบบดาวเทียมหรือแบบภูมิประเทศ
    ขอโค้ดส่วนนั่นด้วยนะค่ะ
  • tanomsak
    ประเภทของแผนที่เป็น options อันนึงตอนสร้าง map ครับ

    var map = new GMap2(document.getElementById("map"), {mapTypes: G_DEFAULT_MAP_TYPES[G_SATELLITE_MAP] });

    โดยปกติ G_DEFAULT_MAP_TYPES มีอยู่สามแบบครับ คือ G_NORMAL_MAP, G_SATELLITE_MAP, and G_HYBRID_MAP

    แต่ถ้าอยากให้ผู้ใช้เลือกประเภทของแผนที่ได้ ก็ต้อง สร้าง map type control หลังจาก สร้างแผนที่แล้วครับ

    map.addControl(new GMapTypeControl());

    ดูตัวอย่างที่ http://www.tanomsak.com/tutorial-1_2.htm นะครับ
  • rung
    อยากถามเรื่องการปักหมุดลงไปบนแผนที่อ่ะ
    แบบผู้ใช้สามารถปักหมุดเองได้ โดยไม่จำเป็นว่าadminต้องเพิ่มหมุดไปในdatabaseเอง
    โปรดตอบกลับมาที่เมล mazdog_rb@hotmail.com
    ขอบคุณล่วงหน้านะค่ะ
  • tanomsak
    ลองดูที่ http://www.tanomsak.com/index.php/2008/12/googl... นะครับ เผื่อเป็นแนวทางได้
  • สำหรับเริ่มต้นนี่เป็นตัวอย่างที่ีดีมากครับ ขอบคุณครับ
  • ให้ความรู้มากครับ
  • prasopsuk
    ง่ายและเข้าใจได้เร็ว
    ขอบคุณครับ
  • ขอบคุณมากครับ
  • rexchrono
    ผม กำลังศึกษาอยู่นะคร้บและอยากจะทราบว่า ถ้าเราจะปักหมุดเนี่ย
    เราต้องทำยังไงบ้างครับ แบบว่า ปัก ลง ดาต้าเบส ด้วยอ่ะคร้บ

    ช่วยหน่อย ครับ โปรเจคผมล่ม ไปครั้งหนึ่งละ

    กำลังวางแผนโปรเจคใหม่
  • tanomsak
    ลองดูที่ http://www.tanomsak.com/index.php/2008/12/googl... นะครับ เผื่อเป็นแนวทางได้
  • ยังงงคะ ได้ กด Generate API Key แล้วเอาไปใส่ blogger อย่างไรคะ
  • ยุ้มยิ้ม
    ยัง งงอยู่ค่ะ กำลังทำโปรเจคด้วย
    แบว่าเอาโค้ดที่มันให้มาไปลอง
    เรียกแผนที่ดู ในlocalhost แต่มันไม่ออกมาอะค่ะ
    ไม่รุ้ว่าerrormไหน และก็ไม่รู้ว่าทำถูกมั้ยด้วย - -"
  • tanomsak
    สำหรับ http://localhost/ สามารถใช้ API key ข้างล่างได้เลยครับ ทดลองโดย copy html source code จากตัวอย่างข้างบน แล้วเปลี่ยน API key เป็นข้างล่างดูนะครับ

    ABQIAAAAeNsNnRXUdrpgSw3qfvhz5hT2yXp_ZAY8_ufC3CFXhHIE1NvwkxQKXEKxoc7nW6rPe_Qv-bqip6q6Kw

    ถ้าไม่ได้ลองขอ API key ใหม่โดยใส่ url เป็น htpp://localhost นะครับ เผื่อผม copy paste ไม่ครบ ได้ไม่ได้ก็ comment บอกนะครับ
  • ยุ้มยิ้ม
    กำลังทำวิจัยเหมือนกันค่า แบบว่าทำอะไรไม่เป็นเลย
    อยากรู้ว่าได้โค้ดมาแล้วเอาไปใส่ที่ไหนหรอคะ
    ใช้ localhost อะค่ะ
  • kan
    มีปัญหาเรื่อง gen key api google map อ่ะค่ะ
  • palmmy_little
    เยี่ยม เป็นบทความที่ให้ความรู้ที่ดีครับ
  • เยี่ยม คับ หาอ่านยาก เลย ขอบคุณสำ หรับ ความรู้ที่แบ่งปัน น่ะครับ...

    dynaz of iDeeZiGn

    http://www.ideezign.com
  • kan
    ขอถามหน่อยค่ะ ว่าทำไมเวลาของ key api google แล้วไปแปะบนเว็บ แล้วมันฟ้อง ว่า ให้ขอใหม่ key ตัวนี้เคยใช้กับที่อื่นแล้ว ทั้งๆ ที่ domain เป็นของเราเองอ่ะ
  • elle
    ขอบคุณมากค่ะ เป็นเวปที่ดีมากเลย กำลังศึกษาทำโปรเจคอยู่พอดีค่ะ อยากให้มีมาอีกเรื่อยนะค่ะ
  • light
    ผมขอบคุณมากเลยครับในเรื่องนี้กำลังศึกษาทำโปรเจคจบอยู่เลย
    เข้าไปดูในเว็บของพี่แล้วชอบมากเลยครับ
    อยากให้สอนวิธีการทำอะครับ
  • songwut
    ขอบคุณมากเลยครับ

    กำลังทำโปรเจคอยู่เลย

    ช่วยแนะนำด้วยน่ะครับ

    ตัวอย่างโปรเจคที่ผมจะทำ www.panoramio.com

    อยากให้ช่วยดูและแนะนำหน่อยครับว่าควรทำอย่างไร
  • ^^
    กำลังทำโปรเจคอยู่เลย อยากรู้เรื่องอีกเยอะๆๆๆๆ

    ขอบคุณมากนะค่ะ ช่วยได้เยอะเลย

    ขอบคุณมากจิงๆๆ เอามาอีกนะค่ะ
  • tanomsak
    อยากให้เขียนถึงส่วนไหนแนะนำได้นะครับ ถ้าผมทราบก็จะลองเขียนให้อ่านกันครับ ขอบคุณที่ติดตามครับ
  • ไม่เคยอ่าน วิธีการทำอะไรง่าย ๆ แบบนี้มาก่อนเลยครับ เยี่ยมมากครับ ขอยกนิ้วให้ ถ้าแต่งหนังสือขายเมื่อไร บอกด้วยนะครับ นี่คือตัวอย่างที่ผม ได้ความรู้จากท่าน ลองทำดูครับ ขอบคุณมากจริง ๆ http://www.mae-or.com/map.html
  • ไม่เคยอ่าน วิธีการทำอะไรง่าย ๆ แบบนี้มาก่อนเลยครับ เยี่ยมมากครับ ขอยกนิ้วให้ ถ้าแต่งหนังสือขายเมื่อไร บอกด้วยนะครับ นี่คือตัวอย่างที่ผม ได้ความรู้จากท่าน ลองทำดูครับ ขอบคุณมากจริง ๆ http://www.mae-or.com/map.html
  • tanomsak
    ดีใจที่นำไปใช้ประโยชน์ได้ครับ เล่นเอาตัวลอยเลยครับ :)
  • ฐิติพงศ์
    อ่านแล่วเข้าใจครับ ลองทำดูแล้วครับ เข้าไปดูได้ครับ ขอบคุณมากนะครับ http://www.mae-or.com/map.html
  • ขอบคุณมากครับ อ่านแล้วทดลองทำก่อนนะครับ เดี๋ยวจะแจ้งผลให้ทราบ
  • tanomsak
    ครับผม ขอบคุณที่สนใจแล้วก็คำขอบคุณครับ
blog comments powered by Disqus