{"id":3421,"date":"2024-02-29T09:29:28","date_gmt":"2024-02-29T09:29:28","guid":{"rendered":"https:\/\/epictripasia.com\/?page_id=3421"},"modified":"2024-03-03T02:50:38","modified_gmt":"2024-03-03T02:50:38","slug":"laos-adventure-tour-map","status":"publish","type":"page","link":"https:\/\/epictripasia.com\/en\/maps\/laos-adventure-tour-map\/","title":{"rendered":"LAOS ADVENTURE TOUR MAP"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Directions from Hanoi to Ho Chi Minh City<\/title>\n    <script src=\"https:\/\/api.mapbox.com\/mapbox-gl-js\/v2.7.0\/mapbox-gl.js\"><\/script>\n    <link href=\"https:\/\/api.mapbox.com\/mapbox-gl-js\/v2.7.0\/mapbox-gl.css\" rel=\"stylesheet\">\n    <script src=\"https:\/\/unpkg.com\/html2canvas@0.5.0-beta4\/dist\/html2canvas.min.js\"><\/script>\n\n    <style>\n#wa {\n    display: none !important;\n}\n\/* Set a specific height for the map container *\/\n#map {\n    height: 100vh;\n    width:70%;\n}\n#wrap{\ndisplay:flex;\njustify-content:center;\nalign-items:center;\n}\n\n.numbered-marker{\nwidth:0; height:0;}\n\n.numbered-marker  span {\n  display:flex;\n  justify-content:center;\n  align-items:center;\n  box-sizing:border-box;\n  width: 30px;\n  height: 30px;\n  color:#fff;\n  background: #693;\n  border:solid 2px;\n  border-radius: 0 70% 70%;\n  box-shadow:0 0 2px #000;\n  cursor: pointer;\n  transform-origin:0 0;\n  transform: rotateZ(-135deg);\n}\n.numbered-marker b{\ntransform: rotateZ(135deg)}\n\n\n\/* Style for the itinerary *\/\n#itinerary-container {\n    max-width: 400px;\n    margin: 20px;\n    padding: 10px;\n    border: 1px solid #ccc;\n    border-radius: 5px;\n    background-color: #f9f9f9;\n}\n\n.itinerary-item {\n    display: flex;\n    align-items: center;\n    margin-bottom: 10px;\n}\n\n.itinerary-number {\n    margin-right: 10px;\n    font-weight: bold;\n}\n    <\/style>\n<\/head>\n<body>\n\n\n    <!-- Map container -->\n<div id=\"wrap\">\n  <div id=\"itinerary\">\n    <div class=\"tab-content\">\n      <div\n        id=\"nb-2-configurations\"\n        class=\"nb-2-configurations nb-configurations\"\n        style=\"display: block\"\n      >\n        <div class=\"wte-itinerary-header-wrapper\">\n          <div class=\"wp-travel-engine-itinerary-header\">\n            <h2 class=\"wpte-itinerary-title\">Itinerary<\/h2>\n            <div class=\"aib-button-toggle toggle-button expand-all-button\">\n              <label for=\"itinerary-toggle-button\" class=\"aib-button-label\"\n                >Expand all<\/label\n              >\n              <input\n                id=\"itinerary-toggle-button\"\n                type=\"checkbox\"\n                class=\"checkbox\"\n                checked=\"\"\n              \/>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"post-data itinerary wte-trip-itinerary-v2\">\n          <div class=\"itinerary-row active\">\n            <div class=\"wte-itinerary-head-wrap\">\n              <div class=\"title\">Day 1 :<\/div>\n              <a\n                class=\"accordion-tabs-toggle active\"\n                href=\"javascript:void(0);\"\n              >\n                <span\n                  class=\"dashicons dashicons-arrow-down custom-toggle-tabs rotator open\"\n                ><\/span>\n                <div class=\"itinerary-title\">\n                  <span> ARRIVAL IN LUANG PRABANG&nbsp; <\/span>\n                <\/div>\n              <\/a>\n            <\/div>\n            <style id=\"itinerary-content-show\">\n              .itinerary-content {\n                disply: block !important;\n              }\n            <\/style>\n            <div class=\"itinerary-content show\" style=\"display: block\">\n              <div class=\"content\">\n                <p>\n                  On arrival at Luang Prabang Airport, pick up by our guide and\n                  driver to hotel to check in.<br \/>\n                  Overnight in Luang Prabang.&nbsp;\n                <\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"itinerary-row active\">\n            <div class=\"wte-itinerary-head-wrap\">\n              <div class=\"title\">Day 2 :<\/div>\n              <a\n                class=\"accordion-tabs-toggle active\"\n                href=\"javascript:void(0);\"\n              >\n                <span\n                  class=\"dashicons dashicons-arrow-down custom-toggle-tabs rotator open\"\n                ><\/span>\n                <div class=\"itinerary-title\">\n                  <span> LUANG PRABANG \u2013 PAK OU CAVE \u2013 OUDOMXAY&nbsp; <\/span>\n                <\/div>\n              <\/a>\n            <\/div>\n            <style id=\"itinerary-content-show\">\n              .itinerary-content {\n                disply: block !important;\n              }\n            <\/style>\n            <div class=\"itinerary-content show\" style=\"display: block\">\n              <div class=\"content\">\n                <p>\n                  Today we will embark on a cruise upstream on the Mekong River\n                  giving us stunning views of the tranquil countryside. Along\n                  the way we visit the mysterious Pak Ou Caves, a sacred site\n                  adorned with thousands of golden Buddha images.<br \/>\n                  Then we swap the river for road transport driving towards\n                  Oudomxay, the most mountainous area in Laos. While the road\n                  may pose challenges, it&#8217;s a scenic route, weaving through\n                  hills dotted with villages. Oudomxay Province, rich in ethnic\n                  diversity, reveals glimpses of Hmong, Khmu, Black Thai, and\n                  Lue communities. Enjoy rest stops, where the warm hospitality\n                  of hill tribe people adds a cultural touch to this captivating\n                  expedition.<br \/>\n                  Overnight in Oudomxay.\n                <\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"itinerary-row active\">\n            <div class=\"wte-itinerary-head-wrap\">\n              <div class=\"title\">Day 3 :<\/div>\n              <a\n                class=\"accordion-tabs-toggle active\"\n                href=\"javascript:void(0);\"\n              >\n                <span\n                  class=\"dashicons dashicons-arrow-down custom-toggle-tabs rotator open\"\n                ><\/span>\n                <div class=\"itinerary-title\">\n                  <span> OUDOMXAY \u2013 NONG KHIAW \u2013 MUANG NGOI <\/span>\n                <\/div>\n              <\/a>\n            <\/div>\n            <style id=\"itinerary-content-show\">\n              .itinerary-content {\n                disply: block !important;\n              }\n            <\/style>\n            <div class=\"itinerary-content show\" style=\"display: block\">\n              <div class=\"content\">\n                <p>\n                  Begin your day with a journey towards Nong Khiaw, an untouched\n                  haven surrounded by karst landscapes and inhabited by isolated\n                  ethnic communities. Explore the local school, engaging warmly\n                  with students. Aboard a boat for a breathtaking one-hour\n                  cruise on the Nam Ou River, passing fishing villages immersed\n                  in agriculture. Upon reaching Muang Ngoy, hike through\n                  picturesque rice fields and karst cliffs, resembling Vietnam&#8217;s\n                  Ha Long Bay on land. The trek offers insights into rice\n                  cultivation stages, creating a memorable experience before\n                  returning to Nong Khiaw.<br \/>\n                  Overnight in Nong Khiaw.\n                <\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"itinerary-row active\">\n            <div class=\"wte-itinerary-head-wrap\">\n              <div class=\"title\">Day 4 :<\/div>\n              <a\n                class=\"accordion-tabs-toggle active\"\n                href=\"javascript:void(0);\"\n              >\n                <span\n                  class=\"dashicons dashicons-arrow-down custom-toggle-tabs rotator open\"\n                ><\/span>\n                <div class=\"itinerary-title\">\n                  <span> NONG KHIAW \u2013 LUANG PRABANG <\/span>\n                <\/div>\n              <\/a>\n            <\/div>\n            <style id=\"itinerary-content-show\">\n              .itinerary-content {\n                disply: block !important;\n              }\n            <\/style>\n            <div class=\"itinerary-content show\" style=\"display: block\">\n              <div class=\"content\">\n                <p>\n                  After breakfast, depart to Luang Prabang. On the way, visit\n                  some villages like Ban Nanyang known for its authentic Leu\n                  ethnic life and Algonquin textile production. Upon arrival,\n                  check into the hotel and start the afternoon city tour.<br \/>\n                  Explore the city&#8217;s oldest temple, Wat Sene, and the\n                  magnificent Wat Xieng Thong, featuring an impressive &#8220;tree of\n                  life&#8221; mosaic. Visit the stupa of Wat Visoun and immerse\n                  yourself in the vibrant Night Market, showcasing handmade\n                  textiles by local and hill tribe artisans, adding a cultural\n                  touch to your Luang Prabang experience.<br \/>\n                  Overnight in Luang Prabang.\n                <\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"itinerary-row active\">\n            <div class=\"wte-itinerary-head-wrap\">\n              <div class=\"title\">Day 5 :<\/div>\n              <a\n                class=\"accordion-tabs-toggle active\"\n                href=\"javascript:void(0);\"\n              >\n                <span\n                  class=\"dashicons dashicons-arrow-down custom-toggle-tabs rotator open\"\n                ><\/span>\n                <div class=\"itinerary-title\">\n                  <span>\n                    LUANG PRABANG \u2013 ALMS GIVING \u2013 KUANG SI WATERFALL&nbsp;\n                  <\/span>\n                <\/div>\n              <\/a>\n            <\/div>\n            <style id=\"itinerary-content-show\">\n              .itinerary-content {\n                disply: block !important;\n              }\n            <\/style>\n            <div class=\"itinerary-content show\" style=\"display: block\">\n              <div class=\"content\">\n                <p>\n                  Embark on an early morning alms giving ritual, a unique\n                  tradition in Laos, followed by a visit to the morning market\n                  showcasing a vibrant display of foods. Transfer back to the\n                  hotel for breakfast.<br \/>\n                  Afterward, we will depart to the Long Lao village of Khmu and\n                  H&#8217;mong for the start of a trek through fields, bamboo groves,\n                  and jungles, with the possibility of slippery tracks in the\n                  rainy season. After a two-hour hike, reach the iconic Kuang Si\n                  Waterfall, exploring its natural beauty and having the chance\n                  to swim and relax at its base. The journey concludes with a\n                  visit to see bears in a large cage, adding an exciting touch\n                  to the adventure.<br \/>\n                  Overnight in Luang Prabang.\n                <\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"itinerary-row active\">\n            <div class=\"wte-itinerary-head-wrap\">\n              <div class=\"title\">Day 6 :<\/div>\n              <a\n                class=\"accordion-tabs-toggle active\"\n                href=\"javascript:void(0);\"\n              >\n                <span\n                  class=\"dashicons dashicons-arrow-down custom-toggle-tabs rotator open\"\n                ><\/span>\n                <div class=\"itinerary-title\">\n                  <span> LUANG PRABANG CITY TOUR \u2013 TRAIN TO VANG VIENG <\/span>\n                <\/div>\n              <\/a>\n            <\/div>\n            <style id=\"itinerary-content-show\">\n              .itinerary-content {\n                disply: block !important;\n              }\n            <\/style>\n            <div class=\"itinerary-content show\" style=\"display: block\">\n              <div class=\"content\">\n                <p>\n                  After breakfast, visit The National Museum at the former Royal\n                  Palace, which displays a lovely collection of artifacts\n                  reflecting the richness of Lao culture throughout the ages,\n                  and visit the Human Chan, which is a Luang Prabang Heritage\n                  style house so you can experience Luang Prabang daily lives\n                  from this central traditional house.<br \/>\n                  After that, climb up Phousi Mountain, which offers a panoramic\n                  view of the city and the beautiful surrounding countryside.<br \/>\n                  In the afternoon, take the express train to Vang Vieng, a\n                  small town in central Laos. It&#8217;s known for its beautiful\n                  natural scenery, including towering limestone cliffs, crystal\n                  clear rivers, and stunning waterfalls.<br \/>\n                  Overnight in Vang Vieng.\n                <\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"itinerary-row active\">\n            <div class=\"wte-itinerary-head-wrap\">\n              <div class=\"title\">Day 7 :<\/div>\n              <a\n                class=\"accordion-tabs-toggle active\"\n                href=\"javascript:void(0);\"\n              >\n                <span\n                  class=\"dashicons dashicons-arrow-down custom-toggle-tabs rotator open\"\n                ><\/span>\n                <div class=\"itinerary-title\">\n                  <span>\n                    THAM JANG CAVES \u2013 BLUE LAGOON \u2013 NAM SONG RIVER \u2013\n                    VIENTIANE&nbsp;\n                  <\/span>\n                <\/div>\n              <\/a>\n            <\/div>\n            <style id=\"itinerary-content-show\">\n              .itinerary-content {\n                disply: block !important;\n              }\n            <\/style>\n            <div class=\"itinerary-content show\" style=\"display: block\">\n              <div class=\"content\">\n                <p>\n                  Breakfast at the hotel, heading out to visit Tham Chang (Jang)\n                  cave \u2013 one of the most important caves of Vang Vieng as well\n                  as a temporary home for farmers who grow vegetables nearby.\n                  You will see crystal clear water running out of the mountain\n                  into the river, charming landscapes of the villages and rice\n                  fields.&nbsp;<br \/>\n                  Next, drive to the famous Blue Lagoon for relaxing, swimming\n                  in the crystal water, visit a few weaving villages before we\n                  continue to take a boat ride along Nam Song River to explore\n                  the wonderful spectacular scenery, limestone formation and\n                  take beautiful photos of the mountainous countryside. After\n                  that, depart to Vientiane Capital.&nbsp;&nbsp;<br \/>\n                  Overnight in Vientiane.\n                <\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"itinerary-row active\">\n            <div class=\"wte-itinerary-head-wrap\">\n              <div class=\"title\">Day 8 :<\/div>\n              <a\n                class=\"accordion-tabs-toggle active\"\n                href=\"javascript:void(0);\"\n              >\n                <span\n                  class=\"dashicons dashicons-arrow-down custom-toggle-tabs rotator open\"\n                ><\/span>\n                <div class=\"itinerary-title\">\n                  <span>\n                    VIENTIANE \u2013 FLIGHT TO PAKSE \u2013 BOLAVEN PLATEAU&nbsp;\n                  <\/span>\n                <\/div>\n              <\/a>\n            <\/div>\n            <style id=\"itinerary-content-show\">\n              .itinerary-content {\n                disply: block !important;\n              }\n            <\/style>\n            <div class=\"itinerary-content show\" style=\"display: block\">\n              <div class=\"content\">\n                <p>\n                  Breakfast at the hotel before the car transfers you to\n                  Vientiane airport to take a flight to Pakse.<br \/>\n                  Arrive at Pakse airport, transfer to a hotel in Champasak for\n                  check in. Have lunch in a restaurant, take a rest then explore\n                  the scenic Bolaven Plateau. Visit some of the area\u2019s tea and\n                  Sinok coffee plantations to see how it is grown and to taste\n                  some of Laos\u2019 finest blends, as well as several of the\n                  region&#8217;s Tad Fan and Pha Suam waterfalls. On the way we also\n                  have time to Visit Ethnic group villages of Alak, Nge, and\n                  Katu.&nbsp;<br \/>\n                  Overnight in Pakse.\n                <\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"itinerary-row active\">\n            <div class=\"wte-itinerary-head-wrap\">\n              <div class=\"title\">Day 9 :<\/div>\n              <a\n                class=\"accordion-tabs-toggle active\"\n                href=\"javascript:void(0);\"\n              >\n                <span\n                  class=\"dashicons dashicons-arrow-down custom-toggle-tabs rotator open\"\n                ><\/span>\n                <div class=\"itinerary-title\">\n                  <span> PAKSE \u2013 WAT PHO \u2013 DON KHONG&nbsp; <\/span>\n                <\/div>\n              <\/a>\n            <\/div>\n            <style id=\"itinerary-content-show\">\n              .itinerary-content {\n                disply: block !important;\n              }\n            <\/style>\n            <div class=\"itinerary-content show\" style=\"display: block\">\n              <div class=\"content\">\n                <p>\n                  After breakfast, transfer by road to Wat Phou, a UNESCO World\n                  Heritage Site, renowned for its pre-Angkorian grandeur nestled\n                  amidst the scenic landscapes of southern Laos. This temple\n                  unfolds in three levels, each holding historical significance,\n                  from the baray and promenade to pavilions adorned with\n                  carvings and the revered sanctuary. Serving as a vital\n                  economic and political hub, Wat Phou remains a cherished site\n                  among the Lao people. As you pass through Champasak with its\n                  French colonial charm, reach Khong Island, the gateway to the\n                  4,000 Islands Region, where the Mekong River spans over 14 km,\n                  creating a mesmerizing landscape dotted with numerous islands\n                  amid cascades and rapids.<br \/>\n                  Overnight in Khong Island.\n                <\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"itinerary-row active\">\n            <div class=\"wte-itinerary-head-wrap\">\n              <div class=\"title\">Day 10 :<\/div>\n              <a\n                class=\"accordion-tabs-toggle active\"\n                href=\"javascript:void(0);\"\n              >\n                <span\n                  class=\"dashicons dashicons-arrow-down custom-toggle-tabs rotator open\"\n                ><\/span>\n                <div class=\"itinerary-title\">\n                  <span>\n                    DON KHONG \u2013 LIPHI WATERFALL \u2013 CAMBODIA BORDER \u2013 PAKSE&nbsp;\n                  <\/span>\n                <\/div>\n              <\/a>\n            <\/div>\n            <style id=\"itinerary-content-show\">\n              .itinerary-content {\n                disply: block !important;\n              }\n            <\/style>\n            <div class=\"itinerary-content show\" style=\"display: block\">\n              <div class=\"content\">\n                <p>\n                  After breakfast, we enjoy a visit to the surrounding\n                  countryside, and board a long trail boat touring the Don Khone\n                  area, taking you to visit the remains of the French period,\n                  Liphi Waterfall or \u201cthe Corridor of the Devil\u201d. We return to\n                  the mainland at BanNakasang, a fishery village and drive\n                  further south to visit Khone Phapheng on the journey, the\n                  biggest waterfall in the Southeast Asia, it is really the\n                  impressive sight then lush vegetation near the Lao-Cambodian\n                  border, which is teeming with wildlife, and it is one of the\n                  loveliest destinations in Laos. Return to Pakse late\n                  afternoon.&nbsp;<br \/>\n                  Overnight in Pakse.\n                <\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"itinerary-row active\">\n            <div class=\"wte-itinerary-head-wrap\">\n              <div class=\"title\">Day 11 :<\/div>\n              <a\n                class=\"accordion-tabs-toggle active\"\n                href=\"javascript:void(0);\"\n              >\n                <span\n                  class=\"dashicons dashicons-arrow-down custom-toggle-tabs rotator open\"\n                ><\/span>\n                <div class=\"itinerary-title\">\n                  <span> PAKSE \u2013 DEPARTURE&nbsp; <\/span>\n                <\/div>\n              <\/a>\n            <\/div>\n            <style id=\"itinerary-content-show\">\n              .itinerary-content {\n                disply: block !important;\n              }\n            <\/style>\n            <div class=\"itinerary-content show\" style=\"display: block\">\n              <div class=\"content\">\n                <p>\n                  Depending on your departure flight, you may have free time at\n                  leisure, before being transferred to the airport by the driver\n                  for your flight.\n                <\/p>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n        <script>\n          (function () {\n            var toggleTab = function (row, force = null) {\n              var content = row.querySelector(\".itinerary-content\");\n              var toggler = row.querySelector(\".accordion-tabs-toggle\");\n              var condition =\n                force === null ? !toggler.classList.contains(\"active\") : force;\n              var height = content.scrollHeight;\n              content.classList.toggle(\"active\", condition);\n              if (condition) content.style.maxHeight = height + \"px\";\n              else content.style.maxHeight = \"0px\";\n              toggler.classList.toggle(\"active\", condition);\n            };\n\n            var handleToggleClick = function (row) {\n              return function (event) {\n                var target = event.target;\n                if (!!target.closest(\".wte-itinerary-head-wrap\")) {\n                  toggleTab(row);\n                }\n              };\n            };\n\n            var setContentHeight = function (row) {\n              var content = row.querySelector(\".itinerary-content\");\n              var scrollHeight = content.scrollHeight;\n              if (content.classList.contains(\"active\"))\n                content.style.maxHeight = scrollHeight + \"px\";\n              else content.style.maxHeight = \"0px\";\n            };\n\n            var wrapper = document.querySelector(\".wte-trip-itinerary-v2\");\n            if (wrapper) {\n              var expandall = document.getElementById(\n                \"itinerary-toggle-button\"\n              );\n              var rows = wrapper.querySelectorAll(\".itinerary-row\");\n              if (expandall) {\n                expandall.addEventListener(\"change\", function () {\n                  if (rows)\n                    rows.forEach((row) => {\n                      toggleTab(row, this.checked);\n                    });\n                });\n              }\n              if (rows) {\n                rows.forEach(function (row) {\n                  \/\/ setContentHeight(row)\n                  row.addEventListener(\"click\", handleToggleClick(row));\n                });\n              }\n            }\n          })();\n        <\/script>\n      <\/div>\n    <\/div>\n  <\/div>\n  <div class=\"wrapper-map\">\n    <div id=\"itinerary-container\"><\/div>\n    <div id=\"map\"><\/div>\n  <\/div>\n<\/div>\n\n    <script>\n        \/\/ Replace 'YOUR_MAPBOX_ACCESS_TOKEN' with your actual Mapbox access token\n        mapboxgl.accessToken = 'pk.eyJ1IjoibmlnaHRtYXJlc3VyZiIsImEiOiJjazFjMnRjNHYydGN5M25wa2Y4cXkwcWNyIn0.EFUSe85Grl7ptScTOtJHoA';\n\n        \/\/ Create a map centered on Hanoi\n        const map = new mapboxgl.Map({\n            container: 'map',\n            style: 'mapbox:\/\/styles\/mapbox\/streets-v11',\n            center: [108.3348, 15.8801],\n            zoom: 4\n        });\n\n        \/\/ Add navigation control to the map\n        map.addControl(new mapboxgl.NavigationControl());\n\n        \/\/ Function to create a popup with the location name and remove the close button\n        function createPopup(locationName, number) {\n            return new mapboxgl.Popup({ offset: 25, closeButton: false })\n                .setHTML(`<h3>${locationName}<\/h3>`);\n        }\n\n        \/\/ Add numbered markers for Dong Hoi, Phong Nha, Hue, \nconst markers = [\n    [102.1392, 19.8834, 'Luang Prabang'],         \/\/ Luang Prabang\n    [100.9827, 20.0714, 'Pak Ou Cave'],          \/\/ Pak Ou Cave\n    [102.0963, 20.6920, 'Oudomxay'],             \/\/ Oudomxay\n    [102.6097, 20.5724, 'Nong Khiaw'],           \/\/ Nong Khiaw\n    [102.9336, 20.7411, 'Muang Ngoi'],           \/\/ Muang Ngoi\n    [102.1392, 19.8834, 'Luang Prabang'],        \/\/ Luang Prabang (repeating)\n    [102.0176, 19.5765, 'Kuang Si Waterfall'],   \/\/ Kuang Si Waterfall\n    [102.1392, 19.8834, 'Luang Prabang'],        \/\/ Luang Prabang (repeating)\n    [102.4477, 18.9278, 'Vang Vieng'],           \/\/ Vang Vieng\n    [102.4595, 18.9275, 'Tham Jang Cave'],       \/\/ Tham Jang Cave\n    [102.4477, 18.9278, 'Nam Song River'],       \/\/ Nam Song River\n    [102.5976, 17.9669, 'Vientiane'],            \/\/ Vientiane\n    [105.8019, 15.1105, 'Pakse'],                \/\/ Pakse\n    [106.0211, 15.2243, 'Bolaveng Plateau'],     \/\/ Bolaveng Plateau\n    [105.4995, 15.0069, 'Wat Pho'],              \/\/ Wat Pho\n    [105.9318, 14.1219, 'Don Khong'],            \/\/ Don Khong\n    [105.8901, 14.3692, 'Li Phi Waterfall'],     \/\/ Li Phi Waterfall\n    [105.8019, 15.1105, 'Pakse']                 \/\/ Pakse (repeating)\n];\n\n\n\n        markers.forEach((markerData, index) => {\n            const markerElement = document.createElement('div');\n            markerElement.className = 'numbered-marker';\n            markerElement.innerHTML = `<span class=\"marker-number\"><b>${index + 1}<\/b><\/span>`;\n            \n            const marker = new mapboxgl.Marker(markerElement)\n                .setLngLat([markerData[0], markerData[1]])\n                .addTo(map);\n\n            marker.setPopup(createPopup(markerData[2], index + 1)).addTo(map);\n        });\n\n        const waypoints = markers.map(marker => ({\n            coordinates: [marker[0], marker[1]],\n            markerName: marker[2]\n        }));\n\n        \/\/ Use Mapbox Directions API to get route information\n        const directionsRequest = 'https:\/\/api.mapbox.com\/directions\/v5\/mapbox\/driving\/' +\n            waypoints.map(waypoint => `${waypoint.coordinates[0]},${waypoint.coordinates[1]}`).join(';') +\n            `?steps=true&geometries=geojson&access_token=${mapboxgl.accessToken}`;\n\n\n        fetch(directionsRequest)\n            .then(response => response.json())\n            .then(data => {\n                console.log(data); \/\/ Log the API response to the console\n                \/\/ Draw the route on the map\n                map.addSource('route', {\n                    'type': 'geojson',\n                    'data': {\n                        'type': 'Feature',\n                        'properties': {},\n                        'geometry': data.routes[0].geometry\n                    }\n                });\n\n                map.addLayer({\n                    'id': 'route',\n                    'type': 'line',\n                    'source': 'route',\n                    'layout': {\n                        'line-join': 'round',\n                        'line-cap': 'round'\n                    },\n                    'paint': {\n                        'line-color': '#3887be',\n                        'line-width': 5\n                    }\n                });\n            })\n            .catch(error => console.error('Error fetching directions:', error));\n\n        \/\/ Create the itinerary HTML\n        const itineraryContainer = document.getElementById('itinerary-container');\n        waypoints.forEach((waypoint, index) => {\n            const itineraryItem = document.createElement('div');\n            itineraryItem.className = 'itinerary-item';\n\n            const itineraryNumber = document.createElement('div');\n            itineraryNumber.className = 'numbered-marker';\n            itineraryNumber.innerHTML= `<span class=\"marker-number\"><b>${index + 1}<\/b><\/span>`;\n            itineraryNumber.style.marginLeft='1rem';\n            itineraryNumber.style.marginTop='2rem';\n            itineraryNumber.style.marginRight='2rem';\n            const itineraryText = document.createElement('div');\n            itineraryText.textContent = `${waypoint.markerName}`;\n\n            itineraryItem.appendChild(itineraryNumber);\n            itineraryItem.appendChild(itineraryText);\n            itineraryContainer.appendChild(itineraryItem);\n        });\n    <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Directions from Hanoi to Ho Chi Minh City Itinerary Expand all Day 1 : ARRIVAL IN LUANG PRABANG&nbsp; On arrival at Luang Prabang Airport, pick up by our guide and &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2984,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-3421","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/epictripasia.com\/en\/wp-json\/wp\/v2\/pages\/3421","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/epictripasia.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/epictripasia.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/epictripasia.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/epictripasia.com\/en\/wp-json\/wp\/v2\/comments?post=3421"}],"version-history":[{"count":3,"href":"https:\/\/epictripasia.com\/en\/wp-json\/wp\/v2\/pages\/3421\/revisions"}],"predecessor-version":[{"id":3629,"href":"https:\/\/epictripasia.com\/en\/wp-json\/wp\/v2\/pages\/3421\/revisions\/3629"}],"up":[{"embeddable":true,"href":"https:\/\/epictripasia.com\/en\/wp-json\/wp\/v2\/pages\/2984"}],"wp:attachment":[{"href":"https:\/\/epictripasia.com\/en\/wp-json\/wp\/v2\/media?parent=3421"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}