Marine National Park
About This Attraction
Ang Thong Marine Park, located near Koh Samui in Thailand, is a stunning archipelago of 42 islands in the Gulf of Thailand. The area is renowned for its breathtaking limestone cliffs, hidden lagoons, and dense jungles. Visitors can enjoy activities such as kayaking, snorkeling, and hiking, which allow them to experience the parks natural beauty up close. The main headquarters on Koh Wua Talap provides basic amenities and information for travelers looking to explore the park.
For those interested in Ang Thong Marine Park travel information, it's important to note that access is typically via organized tours from Koh Samui or nearby islands. These tours often include transportation, meals, and guided activities. As the park is a protected area, visitors are encouraged to respect local wildlife and adhere to park regulations. Overall, Ang Thong offers a peaceful escape with numerous opportunities for outdoor adventure.
Location Details
Address
Ang Thong National Marine Park, Koh Samui, Surat Thani, Thailand
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
2000 THB
Child
1500 THB
Student
1800 THB
Senior
1800 THB
Opening Hours & Booking
Open
Days
Monday to Sunday
Hours
8:00 AM to 6:00 PM
Seasonality
Year-round
Booking
Booking Required?
Yes
Book Your Visit
*Prices may vary. Check official website for the most up-to-date information.
Nearby Attractions
A tranquil beach known for its serene atmosphere and clear waters, ideal for relaxation and…
Nathon Town is the administrative and commercial center of Koh Samui, known for its local…
Interactive 3D art museum with optical illusions.
Quiet beach with shallow waters, ideal for families.
Tranquil beach with golden sands and clear waters, popular for relaxation and water sports.
Quiet beach with stunning sunsets and views of nearby islands.
A family-friendly park with animals, gardens, and panoramic views.
Scenic waterfall with a jungle trail.
Quiet fishing village beach with boat tours.
A tranquil garden with statues and lush greenery.
";
}
// Initialize modal controls
const initModalControls = function() {
console.log('Initializing modal controls');
const modal = document.getElementById('attraction-modal');
const closeBtn = document.querySelector('.attraction-modal-close');
if (closeBtn) {
closeBtn.addEventListener('click', function() {
modal.style.display = 'none';
document.body.style.overflow = '';
});
}
window.addEventListener('click', function(event) {
if (event.target === modal) {
modal.style.display = 'none';
document.body.style.overflow = '';
}
});
// Make attraction cards clickable
const attractionCards = document.querySelectorAll('.attraction-card');
console.log('Found ' + attractionCards.length + ' attraction cards');
attractionCards.forEach(card => {
card.addEventListener('click', function(e) {
openModalWithCardData(this);
});
});
};
// Function to open modal with card data
const openModalWithCardData = function(card) {
// Get data from hidden div
const data = card.querySelector('.attraction-full-data');
if (!data) {
console.error('No attraction data found in card');
return;
}
const modal = document.getElementById('attraction-modal');
if (!modal) {
console.error('Modal element still not found after creation attempt');
return;
}
// Helper function to safely get element text
function getElementText(selector) {
const element = data.querySelector(selector);
return element ? element.textContent : '';
}
try {
// Basic Info
document.getElementById('attraction-modal-title').textContent = getElementText('.attraction-name');
document.getElementById('attraction-modal-type').textContent = getElementText('.attraction-type-full');
document.getElementById('attraction-modal-description').textContent = getElementText('.attraction-description-full');
// Reset all containers to hidden
['attraction-modal-hours-container', 'attraction-modal-price-container',
'attraction-modal-address-container', 'attraction-modal-image-container'].forEach(id => {
const container = document.getElementById(id);
if (container) container.style.display = 'none';
});
// Rating
const ratingText = getElementText('.attraction-rating-full');
if (ratingText) {
const ratingValue = parseFloat(ratingText);
if (!isNaN(ratingValue)) {
const ratingValueEl = document.getElementById('attraction-modal-rating-value');
const ratingFillEl = document.getElementById('attraction-modal-rating-fill');
if (ratingValueEl) ratingValueEl.textContent = ratingValue.toFixed(1) + '/10';
if (ratingFillEl) ratingFillEl.style.width = (ratingValue * 10) + '%';
}
}
// Show the modal
modal.style.display = 'block';
document.body.style.overflow = 'hidden'; // Prevent background scrolling
console.log('Modal opened successfully');
} catch (error) {
console.error('Error opening modal:', error);
}
};
// Try to create the modal
const created = createModal();
console.log('Modal created:', created);
// If not created (already exists), initialize the controls
if (!created) {
initModalControls();
}
// Also initialize distance toggle
const distanceToggle = document.getElementById('distance-unit-toggle');
if (distanceToggle) {
distanceToggle.addEventListener('change', function() {
const showKm = this.checked;
// Update toggle labels
const labels = document.querySelectorAll('.toggle-label');
if (labels.length >= 2) {
labels[0].style.opacity = showKm ? '0.5' : '1';
labels[1].style.opacity = showKm ? '1' : '0.5';
}
// Update all distance displays
document.querySelectorAll('.nearby-attraction-card').forEach(card => {
const kmEl = card.querySelector('.distance-km');
const miEl = card.querySelector('.distance-mi');
if (kmEl && miEl) {
kmEl.style.display = showKm ? 'inline' : 'none';
miEl.style.display = showKm ? 'none' : 'inline';
}
});
});
}
});