78,335 properties
0 phones
0 emails
0 for sale
517 results · Page 1/11
All (78,335) Self-Storage (6,623) Mobile Home Parks (7,641) Car Washes (9,819) Laundromats (7,714) RV Parks (22,383) Marinas (5,509) Budget Motels (10,145) Mailbox / Pack & Ship (47) Gas Stations (35) Dry Cleaners (8,419)
Map:

Super Dry Cleaners

3

CA · 1211 Jones Street

Dry Cleaners

Drop & Go Laundry

3

San Francisco, CA · 1107 Leavenworth Street

Dry Cleaners
Phone

The Missing Sock Drycleaners

3

CA

Dry Cleaners

Aristocrat Cleaners

3

San Francisco, CA · 2415 Chestnut Street

Dry Cleaners

Hoot n' Toot Cleaners

3

Menlo Park, CA · 875 Santa Cruz Avenue

Dry Cleaners

Menlo Art Cleaners

3

CA · 824 Santa Cruz avenue

Dry Cleaners

Billy's Dry Cleaners

3

CA

Dry Cleaners

WashFoundry

3

Santa Clara, CA · 1564 Halford Avenue

Dry Cleaners

SF GreenClean

3

CA · 222 Halleck Street

Dry Cleaners
Phone

Flamingo Cleaners

3

Berkeley, CA · 1935 Martin Luther King Jr Way

Dry Cleaners

US Cleaners

3

Union City, CA · 34584 Alvarado-Niles Road

Dry Cleaners

Custom Cleaners

3

Antelope, CA · 7897 Walerga Road

Dry Cleaners
Phone

West Coast Cleaners

3

Union City, CA · 33366 Alvarado-Niles Road

Dry Cleaners

Menalto Cleaners

3

CA

Dry Cleaners

Holiday Cleaners

3

CA · 880 Ralston Avenue

Dry Cleaners

Cleaners

3

CA · 980 Ralston Avenue

Dry Cleaners

Nature's Best Cleaners

3

CA

Dry Cleaners

Royal Cleaners

3

Sunnyvale, CA · 1281 South Mary Avenue

Dry Cleaners

Saving Cleaners

3

Fremont, CA · 39480 Fremont Boulevard

Dry Cleaners

Roy's Cleaners

3

CA · 2029 El Camino Real

Dry Cleaners

Designer's Tailoring

3

Palo Alto, CA · 2119 El Camino Real

Dry Cleaners
Phone

Wing Lee Cleaners

3

CA

Dry Cleaners

Best Cleaners

3

CA

Dry Cleaners

Peninou French Laundry

3

CA · 1142 Crane Street

Dry Cleaners

H & S Dry Cleaners

3

CA

Dry Cleaners

Dry Cleaning Outlet

3

Redwood City, CA · 593A Woodside Road

Dry Cleaners
Phone

Woodside Cleaners

3

Redwood City, CA · 317 Woodside Road

Dry Cleaners
Phone

Virginia Cleaners

3

Berkeley, CA · 1650 Shattuck Avenue

Dry Cleaners
Phone

Hopkins Laundrette

3

CA · 1545 Hopkins Street

Dry Cleaners

Ladera Cleaners

3

Portola Valley, CA · 3130 Alpine Road

Dry Cleaners
Phone

Poly Clean Center

3

Atherton, CA · 3275 El Camino Real

Dry Cleaners
Phone

Woodside Cleaners

3

Redwood City, CA · 748 Woodside Road

Dry Cleaners
Phone

Atherton Cleaners

3

Redwood City, CA · 840 Woodside Road

Dry Cleaners

De Anza Square Cleaners

3

Sunnyvale, CA · 1358 South Mary Avenue

Dry Cleaners

Danny's Cleaners

3

CA

Dry Cleaners

Kent Cleaners

3

CA

Dry Cleaners

Dry Cleaners

3

CA

Dry Cleaners

24 Guerrero Cleaners

3

San Francisco, CA · 1198 Guerrero Street

Dry Cleaners
Phone

Central Cleaners

3

San Francisco, CA · 1101 Guerrero Street

Dry Cleaners
Phone

Sam's Cleaners

3

Berkeley, CA · 1784 Shattuck Avenue

Dry Cleaners

El Macero Cleaners

3

CA

Dry Cleaners
Phone

Clean Image Cleaners

3

San Francisco, CA · 3141 Fillmore Street

Dry Cleaners

Sew-Clean Cleaners

3

Berkeley, CA · 1664 Shattuck Avenue

Dry Cleaners

Florida Cleaner

3

San Francisco, CA · 1301 Florida Street

Dry Cleaners
Phone

V Max Cleaners

3

CA

Dry Cleaners

Natures Best Cleaners

3

CA

Dry Cleaners

Blue Bird Cleaners

3

CA · 1049 North El Monte Avenue

Dry Cleaners

Cleaners

3

CA

Dry Cleaners

Cleaners

3

CA

Dry Cleaners

Webtown Dry Cleaners

3

Los Altos, CA · 227 1st Street

Dry Cleaners
Phone
1 / 11 Next →
// Heat map modes // mapPoints format: [id, lat, lon, category, valuation, data_score, motivated_score] let heatLayer = null; let circleLayer = null; let currentMode = 'markers'; function clearOverlays() { if (heatLayer) { map.removeLayer(heatLayer); heatLayer = null; } if (circleLayer) { map.removeLayer(circleLayer); circleLayer = null; } } function setMapMode(mode) { currentMode = mode; clearOverlays(); // Update button states document.querySelectorAll('.map-mode-btn').forEach(b => b.classList.remove('active')); document.getElementById('btn-' + mode).classList.add('active'); if (mode === 'markers') { markers.addTo(map); return; } map.removeLayer(markers); if (mode === 'density') { // Pure density heatmap const pts = mapPoints.filter(p => p[1] && p[2]).map(p => [p[1], p[2], 1]); heatLayer = L.heatLayer(pts, {radius: 20, blur: 15, maxZoom: 10, max: 5, gradient: {0.2: '#ffffb2', 0.4: '#fd8d3c', 0.6: '#f03b20', 0.8: '#bd0026', 1: '#800026'} }).addTo(map); } else if (mode === 'valuation') { // Circle markers colored by valuation circleLayer = L.layerGroup(); const maxVal = Math.max(...mapPoints.map(p => p[4]).filter(v => v > 0)) || 1; mapPoints.filter(p => p[1] && p[2] && p[4] > 0).forEach(p => { const ratio = Math.min(p[4] / maxVal, 1); const r = Math.round(ratio * 255); const g = Math.round((1 - ratio) * 200); const color = `rgb(${r}, ${g}, 50)`; const radius = 4 + ratio * 10; L.circleMarker([p[1], p[2]], { radius: radius, fillColor: color, color: '#fff', weight: 1, fillOpacity: 0.7 }).bindPopup(`$${(p[4]/1000).toFixed(0)}K`).addTo(circleLayer); }); circleLayer.addTo(map); } else if (mode === 'quality') { // Circle markers colored by data_score circleLayer = L.layerGroup(); mapPoints.filter(p => p[1] && p[2]).forEach(p => { const score = p[5] || 0; const ratio = score / 10; // Green = high, Red = low const r = Math.round((1 - ratio) * 255); const g = Math.round(ratio * 200); const color = `rgb(${r}, ${g}, 50)`; L.circleMarker([p[1], p[2]], { radius: 3 + ratio * 5, fillColor: color, color: '#fff', weight: 0.5, fillOpacity: 0.6 }).addTo(circleLayer); }); circleLayer.addTo(map); } else if (mode === 'motivated') { // Heat map weighted by motivated score const pts = mapPoints.filter(p => p[1] && p[2] && p[6] > 0).map(p => [p[1], p[2], p[6] / 100]); heatLayer = L.heatLayer(pts, {radius: 25, blur: 20, maxZoom: 10, max: 1, gradient: {0.2: '#fff7bc', 0.4: '#fec44f', 0.6: '#fe9929', 0.8: '#d95f0e', 1: '#993404'} }).addTo(map); } }
🔒
Unlock owner contacts for 55,000+ properties
Get Access