Botanical Garden
About This Attraction
El Charco del Ingenio is a beautiful botanical garden and nature reserve located in San Miguel de Allende, Mexico. It spans over 170 acres, offering a diverse range of plant life, including many native and rare species. The garden provides visitors with well-maintained walking trails that lead through striking landscapes, showcasing the regions natural beauty. El Charco del Ingenio opening hours are generally from 9:00 AM to 6:00 PM daily, allowing ample time for exploration.
In addition to its rich flora, the site features a historic aqueduct and several viewpoints with stunning vistas of the surrounding area. Educational programs and workshops are offered to promote environmental awareness and conservation efforts. Facilities include a visitor center with informative exhibits, as well as a café where guests can relax and enjoy refreshments. Overall, El Charco del Ingenio serves as both a sanctuary for wildlife and a peaceful retreat for people of all ages.
Location Details
Address
Las Colonias, 37720 San Miguel de Allende, Gto., Mexico
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
60 MXN
Child
30 MXN
Student
40 MXN
Senior
40 MXN
Opening Hours & Booking
Open
Days
Monday to Sunday
Hours
9:00 AM to 5:00 PM
Seasonality
Year-round
Booking
Booking Required?
No
Nearby Attractions
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 Parroquia de San Miguel Arcángel is a prominent church located in the heart of…
Learn More
The Alhóndiga de Granaditas is a historical building located in the city of Guanajuato, Mexico.…
Learn More
Yum Balam Reserve is a protected natural area located on Isla Holbox, Mexico. It covers…
Learn More
Sian Kaan Biosphere Reserve is a protected area located near Tulum, Mexico. It covers over…
Learn More
Santo Domingo Church in Oaxaca is a stunning example of Baroque architecture, featuring intricate details…
Learn More
Isla Holbox is home to the enchanting Bioluminescent Beach, a natural wonder that attracts visitors…
Learn More
Monte Albán is an ancient archaeological site located in Oaxaca, Mexico. This UNESCO World Heritage…
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';
}
});
});
}
});