Island
About This Attraction
Bartolome Island is a small volcanic island in the Galapagos Islands, known for its stunning landscapes and unique wildlife. It is famous for Pinnacle Rock, a striking geological formation that rises dramatically from the sea. Visitors can enjoy panoramic views of the surrounding islands from the summit, which is accessible via a trail with wooden steps. The islands opening hours may vary, so its essential to check with local authorities or tour operators before planning your visit.
The island offers opportunities for snorkeling, allowing visitors to see marine life such as sea turtles and colorful fish. Bartolome also has two beautiful beaches where you can relax or explore the coastline. While there are no accommodations on the island itself, tours often include visits to nearby islands as well. Its important to respect the local wildlife and follow guidelines to preserve the natural environment.
Location Details
Address
Bartolome Island, Galapagos Islands, Ecuador
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
Included in Galapagos National Park fee
Child
Included in Galapagos National Park fee
Student
Included in Galapagos National Park fee
Senior
Included in Galapagos National Park fee
Opening Hours & Booking
Open
Days
Daily
Hours
24 hours
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
The Charles Darwin Research Station, located on Santa Cruz Island in the Galapagos, serves as…
Learn More
Tortuga Bay is a popular destination located on Santa Cruz Island in the Galapagos Islands.…
Learn More
Los Tuneles, located on Isabela Island in the Galapagos, is a fascinating destination known for…
Learn More
Kicker Rock, also known as León Dormido, is a prominent volcanic formation located off the…
Learn More
Tungurahua Volcano is an active stratovolcano located near the town of Baños in Ecuador. Known…
Learn More
Casa del Arbol, located in Baños, Ecuador, is a popular tourist destination known for its…
Learn More
Pailon del Diablo, located near Baños, Ecuador, is a popular waterfall known for its impressive…
Learn More
Ciudad Encantada, located near Cuenca in Spain, is a natural site renowned for its unique…
Learn More
Cuenca Cathedral, also known as the Cathedral of Santa María and San Julián, is a…
Learn More
The Hanging Houses, or Casas Colgadas, are a remarkable architectural sight in Cuenca, Spain. Perched…
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';
}
});
});
}
});