Home » Africa » South Africa » Johannesburg » Gold Reef City
Gold Reef City

Gold Reef City

Gold Reef City in Johannesburg is a popular theme park and entertainment destination built on an old gold mine. It offers various attractions, including thrilling roller coasters, family-friendly rides, and historical exhibits that highlight the gold mining history of the area.

Johannesburg
Share to Friends
Theme Park

About This Attraction

Gold Reef City in Johannesburg is a popular theme park and entertainment destination built on an old gold mine. It offers various attractions, including thrilling roller coasters, family-friendly rides, and historical exhibits that highlight the gold mining history of the area. The amusement park has something for everyone, making it an ideal place for families and thrill-seekers alike.

In addition to the rides, Gold Reef City provides educational experiences through its underground mine tours and museums. Visitors can also enjoy live performances at the on-site theater and dine at multiple restaurants within the complex. For those planning a visit, obtaining Gold Reef City travel information ahead of time ensures a well-organized trip with memorable experiences.

Location Details

Address Northern Parkway & Data Crescent, Ormonde, Johannesburg, 2159, South Africa

Visitor Information

Pricing & Ratings

Ticket Prices

Adult R250
Child R200
Student R230
Senior R200

Ratings

Overall Rating
8.5/10
Crowd Level
8.0/10

Opening Hours & Booking

Open

Days Wednesday to Sunday
Hours 09:30 AM - 05: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

Showing 10 of 17 attractions
Miles Kilometers

Apartheid Museum

Historical Museum

The Apartheid Museum in Johannesburg is a significant historical site dedicated to illustrating the rise…

9.1/10
Learn More

Constitution Hill

Historic Site

Constitution Hill in Johannesburg is a historical site that houses South Africas Constitutional Court. It…

9.0/10
Learn More

Johannesburg Zoo

Zoo

Johannesburg Zoo, located in the heart of Johannesburg, South Africa, is a popular attraction for…

8.5/10
Learn More

Soweto

Cultural Township

Soweto, short for South Western Townships, is located in Johannesburg, South Africa. It is known…

8.5/10
Learn More

Voortrekker Monument

Historical Monument

The Voortrekker Monument in Pretoria is a significant heritage site that commemorates the Afrikaner pioneers…

8.5/10
Learn More

National Zoological Gardens

Zoo

The National Zoological Gardens in Pretoria is a prominent destination for wildlife enthusiasts and families…

8.5/10
Learn More

Union Buildings

Historical Site

The Union Buildings in Pretoria serve as the official seat of the South African government…

8.5/10
Learn More

Durban Botanic Gardens

Botanical Garden

The Durban Botanic Gardens, located in the city of Durban, South Africa, is the oldest…

8.5/10
Learn More

uShaka Marine World

Marine Theme Park

uShaka Marine World is a popular theme park located in Durban, South Africa. It offers…

8.5/10
Learn More

Golden Mile

Beachfront Promenade

The Golden Mile in Durban is a well-known stretch of beachfront, approximately 6 kilometers long,…

8.5/10
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'; } }); }); } });
Scroll to Top