78,335 properties
0 phones
0 emails
0 for sale
239 results · Page 1/5
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:

Generation III Marina

1B

Cambridge, MD · 205 Cedar Street

Marinas
Phone Email

Saint Michaels Harbour Inn, Marina and Spa

1B

Saint Michaels, MD · 101 North Harbor Road

Marinas
Phone Email

Chesapeake Bay Maritime Museum

1B

Saint Michaels, MD · 213 North Talbot Street

Marinas
Phone Email

Solomons Yachting Center

1B

Solomons, MD · 255 Alexander Street

Marinas
Phone Email

Harbor Island Marina

1B

Solomons, MD · 105 Charles Street

Marinas
Phone Email

Calvert Marina

1B

Solomoms, MD · 14485 Dowell Road

Marinas
Phone Email

Bert Jabin's Yacht Yard

2

MD

Marinas
Phone Email

Higgins Yacht Yard and Marina

2

MD

Marinas
Phone Email

South River Marina

2

MD

Marinas
⚠️ Phone Email

Anchor Yacht Basin

2

MD

Marinas
Phone Email

Knapp's Narrows Marina & Inn

2

MD

Marinas
Phone Email

Chesapeake Inn Marina

2

MD

Marinas
Phone Email

Maryland Marina

1B

Middle River, MD · 3501 Red Rose Farm Road

Marinas
Phone Email

Beacon Light Marina

1B

Middle River, MD · 825 Bowleys Quarters Road

Marinas
Phone Email

Flying Point Marina

1B

Edgewood, MD · 324 Flying Point Road

Marinas
Phone Email

Yacht Haven of Annapolis

1B

Annapolis, MD · 326 1st Street

Marinas
Phone Email

Bohemia Bay Yacht Harbour

1B

Chesapeake City, MD · 1026 Town Point Road

Marinas
Phone Email

Two Rivers Yacht Basin

1B

Chesapeake City, MD · 64 Two Rivers Lane

Marinas
Phone Email

Granary Marina

1B

Georgetown, MD · 100 George Street

Marinas
Phone Email

Lee's Marina

1B

Charlestown, MD · 726 Water Street

Marinas
Phone Email

North East River Marina

1B

Charlestown, MD · 724 Water Street

Marinas
Phone Email

Charlestown Marina

1B

Charlestown, MD · 4 Water Street

Marinas
Phone Email

Tall Timbers Marina

1B

Tall Timbers, MD · 18521 Herring Creek Road

Marinas
Phone Email

Vera's White Sands Marina

2

MD · 1200 White Sands Drive

Marinas
Phone

Stansbury Yacht Basin

2

Middle River, MD · 1312 Shore Road

Marinas
Phone

Tradewinds Marina

2

Middle River, MD · 412 Armstrong Road

Marinas
Phone

Parkside Marina

2

Middle River, MD · 3300 Edwards Lane

Marinas
Phone

Chesapeake Yachting Center

2

Middle River, MD · 114 Carroll Island Road

Marinas
Phone

Edwards Boat Yard

2

Middle River, MD · 3420 Edwards Lane

Marinas
Phone

Long Beach Marina

2

Middle River, MD · 800 Chester Road

Marinas
Phone

Bowleys Marina

2

Middle River, MD · 1700 Bowleys Quarters Road

Marinas
Phone

Goeller's Seneca River Boatyard

2

Middle River, MD · 3814 Clarks Point Road

Marinas
Phone

Bush River Yacht Club

2

Abingdon, MD · 4001 East Baker Avenue

Marinas
Phone

Piney Narrows Yacht Haven

2

Chester, MD · 500 Piney Narrows Road

Marinas
Phone

Porter's Seneca Marina

2

Middle River, MD · 918 Seneca Park Road

Marinas
Phone

Loch Raven Fishing Center

2

Phoenix, MD · 12101 Dulaney Valley Road

Marinas
Phone

Bohemia Vista Marina

2

Chesapeake City, MD · 140 Vista Marina Road

Marinas
Phone

Bay Bridge Marina

2

Stevensville, MD · 357 Pier One Road

Marinas
Phone

Skipjack Cove Yachting Resort

2

Georgetown, MD · 20 Duffy Creek Road

Marinas
Phone

Scott's Cove Marina

2

Deal Island, MD · 10551 Eldon Willing Road

Marinas
Phone

Tilghman Island Marina

2

Tilghman Island, MD · 6140 Mariners Court

Marinas
Phone

Breezy Point Marina

1B

Chesapeake Beach, MD · 5230 Breezy Point Road

Marinas
Phone Email

Pirates Cove

2

MD

Marinas
Phone Email

Flag Harbor Marina

2

MD

Marinas
Phone Email

Cutter Marine

2

MD

Marinas
Phone

James Creek Marina

2

MD

Marinas
Phone Email

St. Michaels Marina

2

MD

Marinas
Phone

Cutter Boardwalk Marina

2

MD

Marinas
Phone

Whitehall Marina

2

MD

Marinas
Phone Email

Turkey Point Marina & Yacht Club

2

MD

Marinas
Phone Email
1 / 5 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