Botanical Garden
About This Attraction
The Oaxaca Ethnobotanical Garden is a notable destination located in the heart of Oaxaca City, Mexico. It offers visitors an opportunity to learn about the diverse plant species native to the region. The garden showcases a vast array of plants, including agaves, cacti, and other endemic species that thrive in Oaxacas unique climate. Guided tours are available to provide educational insights into the relationship between these plants and the cultural history of the area.
For those planning a visit, its essential to know the Oaxaca Ethnobotanical Garden opening hours. Typically, the garden is open from Tuesday to Sunday, with tours conducted at specific times throughout the day. Admission fees may vary depending on whether you choose a Spanish-speaking or English-speaking tour. This makes it important to check ahead for any updates or changes in schedule before your visit.
Location Details
Address
Reforma Sur, Centro, 68000 Oaxaca de Juárez, Oax., Mexico
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
50 MXN
Child
Free
Student
25 MXN
Senior
25 MXN
Opening Hours & Booking
Open
Days
Tuesday to Sunday
Hours
10: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
Monte Albán is an ancient archaeological site located in Oaxaca, Mexico. This UNESCO World Heritage…
Learn More
Hierve el Agua is a natural site in Oaxaca, Mexico, renowned for its petrified waterfalls.…
Learn More
The Alhóndiga de Granaditas is a historical building located in the city of Guanajuato, Mexico.…
Learn More
El Jardín in San Miguel de Allende is a central plaza that serves as the…
Learn More
The Parroquia de San Miguel Arcángel is a prominent church located in the heart of…
Learn More
El Charco del Ingenio is a beautiful botanical garden and nature reserve located in San…
Learn More
Fabrica La Aurora is a popular cultural and artistic center located in San Miguel de…
Learn More
Callejón del Beso, or the Alley of the Kiss, is a popular tourist spot in…
Learn More
The Mummy Museum in Guanajuato, Mexico, is a unique attraction that draws visitors interested in…
Learn More
The Santa Catalina Arch in Antigua Guatemala is one of the citys most iconic landmarks.…
Learn More
";
}
// 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';
}
});
});
}
});