R-studio : ( EP#19 ) สร้าง Map with Hyperlink popup ดึงภาพหรือวีดีโอมาแสดงบนแผนที่ ด้วยโปรแกรม R
R-studio : ( EP#19 ) สร้าง Map with Hyperlink popup ดึงภาพหรือวีดีโอมาแสดงบนแผนที่ ด้วยโปรแกรม R
EP#19: สร้าง “Map with Hyperlink Popup” ด้วย R นี้ถือเป็นการยกระดับการนำเสนอข้อมูลเชิงพื้นที่อย่างมีปฏิสัมพันธ์ (interactive mapping) โดยใช้ภาษา R และแพ็กเกจ leaflet
เพื่อเชื่อมโยงข้อมูลพิกัดกับสื่อภาพ/วีดีโอหรือลิงก์เสริมใน Popup ของแผนที่
เป็นบทเรียนรู้การสร้างพิกัดจุดแหล่งสถานที่ที่ต้องการแนะนำ จาก Google sheets เพื่อเชื่อมโยงไปยังวีดีโอ และนำทางด้วย google map ให้สำหรับไว้ใช้แนะนำแหล่งสถานที่นั้น และจัดทำเป็น Webpage Html file ได้สะดวก
ลงทะเบียนเพื่อขอตัวอย่างไฟล์ R script ได้ที่ https://docs.google.com/forms/d/e/1FAIpQLSeLf7SRVYVz59P3wNA_WT6UePNLzplQVO2_CAb6ckOqNWsBZQ/viewform
🔎 แนวคิดหลัก
- ใช้พิกัดจุด (Latitude/Longitude) จาก Google Sheets
- สร้าง popup ที่มี Hyperlink หรือ Embed ภาพ/YouTube
- แสดงบน Leaflet Map
- ส่งออกเป็น HTML Webpage เพื่อใช้งานออนไลน์
📌 ขั้นตอนการสร้างแผนที่
1. เตรียมข้อมูล Google Sheets
name | lat | lon | img_url | video_url | gmap_url |
---|---|---|---|---|---|
วัดพระแก้ว | 13.7515 | 100.4923 | https://bit.ly/temple_img | https://youtu.be/example | https://maps.google.com/?q=13.7515,100.4923 |
✅ Tips: ตั้งค่า Google Sheet ให้เป็น
Share -> Anyone with the link
และใช้แพ็กเกจgsheet
หรือgooglesheets4
2. อ่านข้อมูลจาก Google Sheets
rCopyEditlibrary(googlesheets4)
library(dplyr)
library(leaflet)
# ลิงก์ Google Sheets ที่เป็นแบบ public
sheet_url <- "https://docs.google.com/spreadsheets/d/1xxxxxxxxxxxxxxxxxxx/edit#gid=0"
data <- read_sheet(sheet_url)
3. สร้าง popup พร้อม Hyperlink / ภาพ
rCopyEditdata <- data %>%
mutate(popup = paste0(
"<b>", name, "</b><br>",
"<a href='", gmap_url, "' target='_blank'>📍 Google Map</a><br>",
"<a href='", video_url, "' target='_blank'>🎬 YouTube</a><br>",
"<img src='", img_url, "' width='200'>"
))
4. แสดงผลบนแผนที่ด้วย leaflet
rCopyEditleaflet(data) %>%
addTiles() %>%
addMarkers(~lon, ~lat, popup = ~popup) %>%
addMiniMap(toggleDisplay = TRUE)
5. ส่งออก HTML
rCopyEditlibrary(htmlwidgets)
saveWidget(leaflet(data) %>%
addTiles() %>%
addMarkers(~lon, ~lat, popup = ~popup),
file = "map_with_hyperlink_popup.html")
🧠 ประโยชน์
- ใช้ในการแนะนำ แหล่งท่องเที่ยว / สถานที่สำคัญ
- ใช้เป็น เครื่องมือสื่อสารข้อมูลสุขภาพ เช่น จุดบริการวัคซีน
- ใช้ในการ รายงานผลสำรวจภาคสนาม ที่มีภาพประกอบ