David Bowie Berlin Tour
Follow in the footsteps of David Bowie across Berlin
🎸 Schöneberg – The Berlin Home Years
Bowie’s Berlin years are closely connected with Schöneberg, where he lived at Hauptstraße 155. This part of the tour includes his apartment area, Neues Ufer and KaDeWe, reflecting the everyday West Berlin surroundings that helped him step away from fame and rebuild his creative life.
🎧 Recording & Wall – The Sound of Berlin
Hansa Studios and the nearby Wall-era landscape around Potsdamer Platz form the heart of Bowie’s Berlin recording story. This section connects the atmosphere behind “Heroes ” with one of the most important studio locations in his career.
🌃 Berlin Nightlife – The Scene
Bahnhof Zoo and SO36 represent the raw, alternative and underground side of Bowie-era Berlin. These locations help place Bowie’s Berlin years within the wider cultural energy of West Berlin in the late 1970s.
⭐ Additional Bowie Berlin Locations
The tour also includes additional Berlin landmarks connected to Bowie’s wider legacy and artistic context, including the Reichstag / Platz der Republik area and the Brücke Museum.
How to use this tour: Start with the full map, then select a location area or use “Next stop” to follow the Bowie Berlin route step by step. Click a marker to open the location details, image, Google Maps link and, where available, a “Read more” link to the full page on this site.
Full Tour
Schöneberg
Recording & Wall
Berlin Nightlife
Other Locations
Note: the route line is a visual guide. Use the Google Maps route buttons and the written walking / transport sections for practical navigation.
Tour Stops
Click a stop below to focus the map marker. The active stop will be highlighted automatically.
Walking & Transport Route Planner
🎸 Part 1: Schöneberg – The Berlin Home Years
Suggested start: 10:00.
Walking route: Hauptstraße 155 → Neues Ufer → KaDeWe.
Start Schöneberg walking route
🎧 Part 2: Recording & Wall – The Sound of Berlin
Suggested time: around 12:30.
Transport: Travel from Schöneberg towards Potsdamer Platz / Kreuzberg.
Visit: Hansa Studios → Berlin Wall / Potsdamer Platz area.
Start Recording & Wall route
🌃 Part 3: Berlin Nightlife – The Scene
Suggested time: afternoon / early evening.
Transport: Use U-Bahn / local transport between Bahnhof Zoo and Kreuzberg.
Visit: Bahnhof Zoo → SO36.
Start Berlin Nightlife route
⭐ Other Bowie Berlin Locations
Optional additions: Reichstag / Platz der Republik and Brücke Museum.
Transport: These are separate Berlin Bowie-related context locations, not part of the compact main walking route.
Start Other Locations route
',
iconSize: [24, 24],
iconAnchor: [12, 12],
popupAnchor: [0, -12]
});
}
function googleMapsSearch(location) {
return 'https://www.google.com/maps/search/?api=1&query=' + location.lat + ',' + location.lng;
}
function safeText(value) {
return String(value || '').replace(/"/g, '"');
}
function isMobileView() {
return window.matchMedia('(max-width: 768px)').matches;
}
function popupHtml(location) {
const isVideo = location.link && location.link.includes('youtu');
const image = location.image || placeholderImage;
const readMoreLink = location.link
? ''
: '';
return '' +
'' +
'' +
'' +
'';
}
function openMobileModal(location) {
const modal = document.getElementById('bowie-v2-mobile-modal');
const content = document.getElementById('bowie-v2-mobile-modal-content');
if (!modal || !content || !location) {
return;
}
content.innerHTML = popupHtml(location);
modal.classList.add('is-open');
modal.setAttribute('aria-hidden', 'false');
document.body.classList.add('bowie-v2-modal-open');
}
function closeMobileModal() {
const modal = document.getElementById('bowie-v2-mobile-modal');
if (!modal) {
return;
}
modal.classList.remove('is-open');
modal.setAttribute('aria-hidden', 'true');
document.body.classList.remove('bowie-v2-modal-open');
}
const mobileClose = appElement.querySelector('.bowie-v2-mobile-modal-close');
const mobileBackdrop = appElement.querySelector('.bowie-v2-mobile-modal-backdrop');
if (mobileClose) {
mobileClose.addEventListener('click', closeMobileModal);
}
if (mobileBackdrop) {
mobileBackdrop.addEventListener('click', closeMobileModal);
}
document.addEventListener('keydown', function (event) {
if (event.key === 'Escape') {
closeMobileModal();
}
});
function scrollToMap() {
mapElement.scrollIntoView({
behavior: 'smooth',
block: 'center'
});
setTimeout(function () {
map.invalidateSize();
}, 350);
}
function setActiveStop(locationId) {
Object.keys(markers).forEach(function (id) {
markers[id].setIcon(createIcon(id === locationId));
});
appElement.querySelectorAll('.bowie-v2-stop-card').forEach(function (card) {
card.classList.toggle('active', card.getAttribute('data-location-id') === locationId);
});
const location = bowieLocations.find(function (item) { return item.id === locationId; });
if (location) {
appElement.querySelectorAll('.bowie-v2-route-step').forEach(function (step) {
step.classList.toggle('active', step.getAttribute('data-route-section') === location.route);
});
}
}
function renderStopList(selected) {
const list = document.getElementById('bowie-v2-stop-list');
if (!list) {
return;
}
list.innerHTML = '';
selected.forEach(function (location, index) {
const card = document.createElement('button');
card.type = 'button';
card.className = 'bowie-v2-stop-card';
card.setAttribute('data-location-id', location.id);
card.innerHTML = '' + (index + 1) + '. ' + location.title + ' ' + location.area + ' ';
card.addEventListener('click', function () {
focusLocation(location.id, true);
});
list.appendChild(card);
});
}
function focusLocation(locationId, shouldScroll) {
const location = bowieLocations.find(function (item) { return item.id === locationId; });
if (!location || !markers[locationId]) {
return;
}
setActiveStop(locationId);
if (shouldScroll) {
scrollToMap();
}
setTimeout(function () {
map.invalidateSize();
map.setView([location.lat, location.lng], 15, { animate: true });
if (isMobileView()) {
map.closePopup();
openMobileModal(location);
} else {
markers[locationId].openPopup();
}
}, shouldScroll ? 450 : 50);
const selected = routeGroups[currentRoute] || routeGroups.full;
currentStopIndex = selected.findIndex(function (item) { return item.id === locationId; });
}
function renderRoute(routeName) {
const selected = routeGroups[routeName] || routeGroups.full;
currentRoute = routeName;
currentStopIndex = -1;
markerLayer.clearLayers();
lineLayer.clearLayers();
closeMobileModal();
Object.keys(markers).forEach(function (key) {
delete markers[key];
});
selected.forEach(function (location) {
const marker = L.marker([location.lat, location.lng], { icon: createIcon(false) });
if (!isMobileView()) {
marker.bindPopup(popupHtml(location));
}
marker.addTo(markerLayer);
marker.on('click', function () {
setActiveStop(location.id);
const activeSelected = routeGroups[currentRoute] || routeGroups.full;
currentStopIndex = activeSelected.findIndex(function (item) { return item.id === location.id; });
if (isMobileView()) {
map.closePopup();
openMobileModal(location);
} else {
marker.openPopup();
}
});
markers[location.id] = marker;
});
if (selected.length > 1) {
const coordinates = selected.map(function (location) { return [location.lat, location.lng]; });
L.polyline(coordinates, {
color: '#b40000',
weight: 4,
opacity: 0.85,
dashArray: routeName === 'full' ? '8, 8' : null
}).addTo(lineLayer);
}
renderStopList(selected);
const routeLink = document.getElementById('bowie-v2-google-route-link');
if (routeLink) {
routeLink.href = routeLinks[routeName] || routeLinks.full;
routeLink.textContent = routeName === 'full' ? 'Open full tour overview in Google Maps' : 'Start ' + routeName + ' route in Google Maps';
}
appElement.querySelectorAll('.bowie-v2-route-step').forEach(function (step) {
const section = step.getAttribute('data-route-section');
step.classList.toggle('active', routeName !== 'full' && section === routeName);
});
const bounds = L.latLngBounds(selected.map(function (location) { return [location.lat, location.lng]; }));
map.fitBounds(bounds, { padding: [35, 35], maxZoom: selected.length === 1 ? 15 : 13 });
}
appElement.querySelectorAll('.bowie-v2-route-btn').forEach(function (button) {
button.addEventListener('click', function () {
appElement.querySelectorAll('.bowie-v2-route-btn').forEach(function (item) {
item.classList.remove('active');
});
button.classList.add('active');
renderRoute(button.getAttribute('data-route'));
});
});
const nextStopButton = document.getElementById('bowie-v2-next-stop');
if (nextStopButton) {
nextStopButton.addEventListener('click', function () {
const selected = routeGroups[currentRoute] || routeGroups.full;
if (!selected.length) {
return;
}
currentStopIndex = currentStopIndex + 1;
if (currentStopIndex >= selected.length) {
currentStopIndex = 0;
}
focusLocation(selected[currentStopIndex].id, true);
});
}
window.addEventListener('resize', function () {
closeMobileModal();
renderRoute(currentRoute);
});
setTimeout(function () {
map.invalidateSize();
renderRoute('full');
}, 250);
});