Historic Site
About This Attraction
The Walled City in Cartagena, Colombia, is a historic area renowned for its cultural and architectural significance. This UNESCO World Heritage site features well-preserved colonial buildings, charming cobblestone streets, and impressive fortifications that date back to the 16th century. Visitors can explore numerous landmarks such as the imposing Castillo San Felipe de Barajas and the picturesque Plaza Santo Domingo.
For practical Walled City travel information, it is important to note that the area is pedestrian-friendly, making it easy to walk from one attraction to another. There are plenty of restaurants offering traditional Colombian cuisine and shops selling local crafts. Additionally, guided tours are available for those interested in learning more about the areas history and significance. With its rich history and vibrant culture, the Walled City offers a unique experience for travelers.
Location Details
Address
Centro, Cartagena, Bolívar, Colombia
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
Free
Child
Free
Student
Free
Senior
Free
Opening Hours & Booking
Open
Days
Daily
Hours
Open 24 hours
Seasonality
Year-round
Booking
Booking Required?
No
Nearby Attractions
The Jardín Botánico in Medellín is a popular destination for nature enthusiasts and families alike.…
Learn More
Parque Arví is a sprawling nature reserve located in the hills above Medellín, Colombia. Offering…
Learn More
The Museo de Antioquia is a prominent cultural institution located in Medellín, Colombia. It is…
Learn More
Plaza Botero in Medellin is a public square located in the heart of the city,…
Learn More
Comuna 13 in Medellín, Colombia is known for its vibrant street art and rich history.…
Learn More
The Rosario Islands are an archipelago located off the coast of Cartagena, Colombia. Known for…
Learn More
Getsemani, a neighborhood in Cartagena, Colombia, is known for its lively streets and colorful murals…
Learn More
Castillo San Felipe de Barajas is a historic fortress located in Cartagena, Colombia. Built by…
Learn More
Pailon del Diablo, located near Baños, Ecuador, is a popular waterfall known for its impressive…
Learn More
Casa del Arbol, located in Baños, Ecuador, is a popular tourist destination known for its…
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';
}
});
});
}
});