# แสดงข้อมูลตำแหน่งบนแผนที่  > สเก็ตโน้ตโดย [Nitya Narasimhan](https://github.com/nitya) คลิกที่ภาพเพื่อดูเวอร์ชันขนาดใหญ่ วิดีโอนี้ให้ภาพรวมเกี่ยวกับ Azure Maps กับ IoT ซึ่งเป็นบริการที่จะครอบคลุมในบทเรียนนี้ [](https://www.youtube.com/watch?v=P5i2GFTtb2s) > 🎥 คลิกที่ภาพด้านบนเพื่อดูวิดีโอ ## แบบทดสอบก่อนเรียน [แบบทดสอบก่อนเรียน](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/25) ## บทนำ ในบทเรียนที่แล้ว คุณได้เรียนรู้วิธีการดึงข้อมูล GPS จากเซ็นเซอร์ของคุณและบันทึกลงในคลาวด์ในคอนเทนเนอร์จัดเก็บข้อมูลโดยใช้โค้ดแบบเซิร์ฟเวอร์เลส ตอนนี้คุณจะได้เรียนรู้วิธีการแสดงจุดเหล่านั้นบนแผนที่ Azure คุณจะได้เรียนรู้วิธีสร้างแผนที่บนหน้าเว็บ ทำความเข้าใจเกี่ยวกับรูปแบบข้อมูล GeoJSON และวิธีใช้มันเพื่อวางจุด GPS ที่จับได้ทั้งหมดบนแผนที่ของคุณ ในบทเรียนนี้เราจะครอบคลุม: * [การแสดงข้อมูลคืออะไร](../../../../../3-transport/lessons/3-visualize-location-data) * [บริการแผนที่](../../../../../3-transport/lessons/3-visualize-location-data) * [สร้างทรัพยากร Azure Maps](../../../../../3-transport/lessons/3-visualize-location-data) * [แสดงแผนที่บนหน้าเว็บ](../../../../../3-transport/lessons/3-visualize-location-data) * [รูปแบบ GeoJSON](../../../../../3-transport/lessons/3-visualize-location-data) * [วางข้อมูล GPS บนแผนที่โดยใช้ GeoJSON](../../../../../3-transport/lessons/3-visualize-location-data) > 💁 บทเรียนนี้จะมีการใช้ HTML และ JavaScript เล็กน้อย หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนาเว็บโดยใช้ HTML และ JavaScript ลองดู [Web development for beginners](https://github.com/microsoft/Web-Dev-For-Beginners) ## การแสดงข้อมูลคืออะไร การแสดงข้อมูลตามชื่อคือการแสดงข้อมูลในรูปแบบที่ทำให้มนุษย์เข้าใจได้ง่ายขึ้น โดยปกติจะเกี่ยวข้องกับแผนภูมิและกราฟ แต่จริง ๆ แล้วคือการแสดงข้อมูลในรูปแบบภาพใด ๆ ที่ช่วยให้มนุษย์ไม่เพียงแค่เข้าใจข้อมูลได้ดีขึ้น แต่ยังช่วยให้ตัดสินใจได้ด้วย ลองดูตัวอย่างง่าย ๆ - ในโครงการฟาร์ม คุณได้บันทึกค่าความชื้นในดิน ตารางข้อมูลค่าความชื้นในดินที่บันทึกทุกชั่วโมงในวันที่ 1 มิถุนายน 2021 อาจมีลักษณะดังนี้: | วันที่ | ค่าที่อ่านได้ | | ---------------- | ------: | | 01/06/2021 00:00 | 257 | | 01/06/2021 01:00 | 268 | | 01/06/2021 02:00 | 295 | | 01/06/2021 03:00 | 305 | | 01/06/2021 04:00 | 325 | | 01/06/2021 05:00 | 359 | | 01/06/2021 06:00 | 398 | | 01/06/2021 07:00 | 410 | | 01/06/2021 08:00 | 429 | | 01/06/2021 09:00 | 451 | | 01/06/2021 10:00 | 460 | | 01/06/2021 11:00 | 452 | | 01/06/2021 12:00 | 420 | | 01/06/2021 13:00 | 408 | | 01/06/2021 14:00 | 431 | | 01/06/2021 15:00 | 462 | | 01/06/2021 16:00 | 432 | | 01/06/2021 17:00 | 402 | | 01/06/2021 18:00 | 387 | | 01/06/2021 19:00 | 360 | | 01/06/2021 20:00 | 358 | | 01/06/2021 21:00 | 354 | | 01/06/2021 22:00 | 356 | | 01/06/2021 23:00 | 362 | สำหรับมนุษย์ การทำความเข้าใจข้อมูลนี้อาจเป็นเรื่องยาก มันเป็นเพียงตัวเลขที่ไม่มีความหมายในเชิงภาพ ในขั้นตอนแรกของการแสดงข้อมูลนี้ สามารถวางลงในแผนภูมิเส้นได้:  สามารถปรับปรุงเพิ่มเติมได้โดยเพิ่มเส้นเพื่อแสดงจุดที่ระบบรดน้ำอัตโนมัติเปิดทำงานเมื่อค่าความชื้นในดินถึง 450:  แผนภูมินี้แสดงให้เห็นอย่างรวดเร็วไม่เพียงแค่ค่าความชื้นในดิน แต่ยังแสดงจุดที่ระบบรดน้ำเปิดทำงาน แผนภูมิไม่ใช่เครื่องมือเดียวในการแสดงข้อมูล อุปกรณ์ IoT ที่ติดตามสภาพอากาศสามารถมีแอปเว็บหรือแอปมือถือที่แสดงสภาพอากาศโดยใช้สัญลักษณ์ เช่น สัญลักษณ์เมฆสำหรับวันที่มีเมฆ สัญลักษณ์เมฆฝนสำหรับวันที่ฝนตก เป็นต้น มีวิธีการแสดงข้อมูลมากมาย ทั้งแบบจริงจังและแบบสนุกสนาน ✅ ลองคิดถึงวิธีที่คุณเคยเห็นการแสดงข้อมูล วิธีใดที่ชัดเจนที่สุดและช่วยให้คุณตัดสินใจได้เร็วที่สุด? การแสดงข้อมูลที่ดีที่สุดช่วยให้มนุษย์ตัดสินใจได้เร็ว ตัวอย่างเช่น การมีแผงหน้าปัดที่แสดงค่าต่าง ๆ จากเครื่องจักรอุตสาหกรรมอาจยากต่อการประมวลผล แต่การมีไฟกระพริบสีแดงเมื่อเกิดปัญหาช่วยให้มนุษย์ตัดสินใจได้ทันที บางครั้งการแสดงข้อมูลที่ดีที่สุดคือไฟกระพริบ! เมื่อทำงานกับข้อมูล GPS การแสดงข้อมูลที่ชัดเจนที่สุดคือการวางข้อมูลบนแผนที่ แผนที่ที่แสดงรถบรรทุกส่งของ เช่น สามารถช่วยให้พนักงานที่โรงงานแปรรูปเห็นว่ารถบรรทุกจะมาถึงเมื่อใด หากแผนที่นี้แสดงมากกว่ารูปภาพของรถบรรทุกในตำแหน่งปัจจุบัน แต่ให้ข้อมูลเกี่ยวกับสิ่งที่อยู่ในรถบรรทุก พนักงานที่โรงงานสามารถวางแผนได้ตามนั้น - หากพวกเขาเห็นรถบรรทุกที่มีระบบทำความเย็นอยู่ใกล้ ๆ พวกเขาจะรู้ว่าต้องเตรียมพื้นที่ในตู้เย็น ## บริการแผนที่ การทำงานกับแผนที่เป็นเรื่องที่น่าสนใจ และมีตัวเลือกมากมาย เช่น Bing Maps, Leaflet, Open Street Maps และ Google Maps ในบทเรียนนี้ คุณจะได้เรียนรู้เกี่ยวกับ [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) และวิธีการแสดงข้อมูล GPS ของคุณ  Azure Maps คือ "ชุดบริการและ SDK ด้านภูมิศาสตร์ที่ใช้ข้อมูลแผนที่ล่าสุดเพื่อให้บริบททางภูมิศาสตร์แก่แอปพลิเคชันเว็บและมือถือ" นักพัฒนาจะได้รับเครื่องมือในการสร้างแผนที่ที่สวยงามและโต้ตอบได้ ซึ่งสามารถทำสิ่งต่าง ๆ เช่น แนะนำเส้นทางจราจร ให้ข้อมูลเกี่ยวกับเหตุการณ์จราจร การนำทางภายใน การค้นหา ข้อมูลระดับความสูง บริการสภาพอากาศ และอื่น ๆ ✅ ลองทดลองกับ [ตัวอย่างโค้ดแผนที่](https://docs.microsoft.com/samples/browse?WT.mc_id=academic-17441-jabenn&products=azure-maps) คุณสามารถแสดงแผนที่เป็นผืนผ้าเปล่า แผ่นกระเบื้อง ภาพถ่ายดาวเทียม ภาพถ่ายดาวเทียมที่มีถนนซ้อนทับ แผนที่สีเทาแบบต่าง ๆ แผนที่ที่มีเงาแสดงระดับความสูง แผนที่มุมมองกลางคืน และแผนที่ที่มีความคอนทราสต์สูง คุณสามารถรับการอัปเดตแบบเรียลไทม์บนแผนที่ของคุณโดยการรวมเข้ากับ [Azure Event Grid](https://azure.microsoft.com/services/event-grid/?WT.mc_id=academic-17441-jabenn) คุณสามารถควบคุมพฤติกรรมและรูปลักษณ์ของแผนที่ของคุณโดยเปิดใช้งานการควบคุมต่าง ๆ เพื่อให้แผนที่ตอบสนองต่อเหตุการณ์ เช่น การบีบ การลาก และการคลิก เพื่อควบคุมรูปลักษณ์ของแผนที่ คุณสามารถเพิ่มเลเยอร์ที่รวมถึงฟองอากาศ เส้น รูปหลายเหลี่ยม แผนที่ความร้อน และอื่น ๆ รูปแบบแผนที่ที่คุณเลือกใช้งานขึ้นอยู่กับ SDK ที่คุณเลือก คุณสามารถเข้าถึง API ของ Azure Maps ได้โดยใช้ [REST API](https://docs.microsoft.com/javascript/api/azure-maps-rest/?WT.mc_id=academic-17441-jabenn&view=azure-maps-typescript-latest), [Web SDK](https://docs.microsoft.com/azure/azure-maps/how-to-use-map-control?WT.mc_id=academic-17441-jabenn) หรือหากคุณกำลังสร้างแอปมือถือ คุณสามารถใช้ [Android SDK](https://docs.microsoft.com/azure/azure-maps/how-to-use-android-map-control-library?WT.mc_id=academic-17441-jabenn&pivots=programming-language-java-android) ในบทเรียนนี้ คุณจะใช้ Web SDK เพื่อวาดแผนที่และแสดงเส้นทางตำแหน่ง GPS ของเซ็นเซอร์ของคุณ ## สร้างทรัพยากร Azure Maps ขั้นตอนแรกของคุณคือการสร้างบัญชี Azure Maps ### งาน - สร้างทรัพยากร Azure Maps 1. รันคำสั่งต่อไปนี้จาก Terminal หรือ Command Prompt เพื่อสร้างทรัพยากร Azure Maps ในกลุ่มทรัพยากร `gps-sensor`: ```sh az maps account create --name gps-sensor \ --resource-group gps-sensor \ --accept-tos \ --sku S1 ``` คำสั่งนี้จะสร้างทรัพยากร Azure Maps ชื่อ `gps-sensor` โดยใช้ระดับ `S1` ซึ่งเป็นระดับที่มีค่าใช้จ่าย แต่มีจำนวนการเรียกใช้งานฟรีที่เพียงพอ > 💁 หากต้องการดูค่าใช้จ่ายในการใช้ Azure Maps ลองดูที่ [หน้าราคาของ Azure Maps](https://azure.microsoft.com/pricing/details/azure-maps/?WT.mc_id=academic-17441-jabenn) 1. คุณจะต้องใช้ API key สำหรับทรัพยากรแผนที่ ใช้คำสั่งต่อไปนี้เพื่อรับคีย์นี้: ```sh az maps account keys list --name gps-sensor \ --resource-group gps-sensor \ --output table ``` คัดลอกค่าของ `PrimaryKey` ไว้ ## แสดงแผนที่บนหน้าเว็บ ตอนนี้คุณสามารถดำเนินการขั้นตอนถัดไปเพื่อแสดงแผนที่บนหน้าเว็บ เราจะใช้เพียงไฟล์ `html` ไฟล์เดียวสำหรับเว็บแอปขนาดเล็กของคุณ โปรดทราบว่าในสภาพแวดล้อมการผลิตหรือการทำงานเป็นทีม เว็บแอปของคุณอาจมีส่วนประกอบมากกว่านี้! ### งาน - แสดงแผนที่บนหน้าเว็บ 1. สร้างไฟล์ชื่อ index.html ในโฟลเดอร์บนคอมพิวเตอร์ของคุณ เพิ่ม HTML markup เพื่อแสดงแผนที่: ```html
``` แผนที่จะโหลดใน `div` ชื่อ `myMap` สไตล์บางส่วนช่วยให้มันครอบคลุมความกว้างและความสูงของหน้า > 🎓 `div` คือส่วนหนึ่งของหน้าเว็บที่สามารถตั้งชื่อและปรับแต่งได้ 1. ใต้แท็ก `` ที่เปิดอยู่ เพิ่ม style sheet ภายนอกเพื่อควบคุมการแสดงแผนที่ และ script ภายนอกจาก Web SDK เพื่อจัดการพฤติกรรมของมัน: ```html ``` style sheet นี้มีการตั้งค่าสำหรับรูปลักษณ์ของแผนที่ และไฟล์ script มีโค้ดสำหรับโหลดแผนที่ การเพิ่มโค้ดนี้คล้ายกับการรวมไฟล์ header ใน C++ หรือการนำเข้าโมดูลใน Python 1. ใต้ script นั้น เพิ่ม script block เพื่อเปิดใช้งานแผนที่ ```javascript ``` แทนที่ `