Beach
About This Attraction
Marina Beach in Chennai is one of the longest urban beaches in the world, extending about 13 kilometers along the Bay of Bengal. It is a popular destination for both locals and tourists, offering a wide sandy shoreline ideal for walking and jogging. The beach is accessible at all times, as there are no specific Marina Beach opening hours, but it tends to be busiest in the early mornings and evenings when temperatures are cooler.
Visitors can enjoy various activities such as kite flying, beach games, and enjoying street food from numerous vendors. While swimming is not recommended due to strong currents, the beach offers an excellent view of sunrise and sunset. Facilities like public restrooms and parking are available nearby, making it convenient for families.
Location Details
Address
Marina Beach, Chennai, Tamil Nadu, India
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
Free
Child
Free
Student
Free
Senior
Free
Opening Hours & Booking
Open
Days
Everyday
Hours
24 hours
Seasonality
Year-round
Booking
Booking Required?
No
Nearby Attractions
Kapaleeshwarar Temple, located in Chennai, India, is a prominent Hindu temple dedicated to Lord Shiva.…
Learn More
The Government Museum in Chennai, also known as the Madras Museum, is one of the…
Learn More
Fort St. George is a historic fortress located in Chennai, India, and it holds significant…
Learn More
Auroville is an experimental township located near Pondicherry, India, dedicated to human unity and sustainable…
Learn More
Promenade Beach in Pondicherry is a well-known seaside destination that offers a relaxing environment along…
Learn More
Cubbon Park, located in the heart of Bengaluru, is a prominent green space that attracts…
Learn More
Bangalore Palace is a stunning example of Tudor-style architecture located in the heart of Bengaluru,…
Learn More
Lalbagh Botanical Garden in Bengaluru is a renowned destination for plant enthusiasts and casual visitors…
Learn More
Bannerghatta National Park, located near Bengaluru in India, is a popular destination for wildlife enthusiasts…
Learn More
Ramoji Film City, located in Hyderabad, India, is one of the largest film studio complexes…
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';
}
});
});
}
});