91³Ô¹ÏÍø

Watch CBS News

Road closures planned for Center City Philadelphia for Rocky Run, Veterans parade, Marine Corps block party

Road closures and parking restrictions will be in effect in Center City Philadelphia this weekend for the Rocky Run on Saturday and Veterans Parade, according to an . 

Additional closures are planned for an event in Old City Monday. 

For the Veterans Day holiday, MLK Drive will be closed to cars from Saturday through Tuesday. 

Saturday: Rocky Run road closures 

The following streets will be closed beginning at 3 a.m. on Saturday:

  • 2200-2400 Benjamin Franklin Parkway between 22nd Street and Eakins Oval
  • Spring Garden Street between Pennsylvania Avenue and 24th Street
  • MLK Drive between Eakins Oval and Falls Bridge

The following streets will be closed beginning at 4:30 a.m. on Saturday:

  • Kelly Drive between Eakins Oval and Brewery Hill Drive
  • Strawberry Mansion Bridge
  • Sweet Briar Drive between Lansdowne Drive and MLK Drive
  • Greenland Drive between MLK Bridge and Chamounix Drive
  • Ford Road between Chamounix Drive and Greenland Drive
  • Chamounix Drive between Ford Road and Greenland Drive

All streets except Eakins Oval and MLK Drive will reopen by noon, according to the city. Eakins Oval is slated to reopen by 2 p.m., and MLK Drive is .

The following SEPTA buses will be detoured on Saturday from 5 a.m. to 4 p.m.: 7, 32 , 38, 43, 48 and 49. .

The event includes a 5K starting at 7 a.m. and 10 mile race at 8 a.m. The finish line is in front of the Philadelphia Art Museum. All of the races are sold out.

Sunday: Philadelphia Veterans Parade road closures 

The 11th annual steps off Sunday at noon on the Benjamin Franklin Parkway. 

The parade includes more than 4,000 participants and dozens of veterans service organizations. After the parade, a festival will be open until 4 p.m. with music, resources and food trucks. 

The following streets will be closed Sunday from 6 a.m. to 5 p.m. for the parade and festival:

  • Eakins Oval

The following streets will be closed beginning at 8 a.m. on Sunday for the parade starting area:

  • Benjamin Franklin Parkway between 18th Street and 21st Street

The following streets will be closed beginning at 11:30 a.m. on Sunday, Nov. 9, and will reopen when the parade ends:

  • Benjamin Franklin Parkway between 21st Street and Eakins Oval (The parade will go around the north side of Eakins Oval and end on the south side.)

Those streets will also be no parking zones on Sunday.

The following SEPTA bus routes will be detoured Sunday from 9 a.m. to 6 p.m.: 2, 7, 32, 38, 43, 48, and 49. .

Monday: Marine Corps Birthday Block Party 

The is hosting a 250th birthday party for the U.S. Marine Corps Monday in Old City. The celebration on 2nd Street in Old City is set to include performances, speakers, food trucks and community booths. 

The following streets will be closed from 6 a.m. to 8 p.m. Monday: 

  • 2nd Street between Market Street and Walnut Street
  • Chestnut Street between 3rd Street and Front Street

Those areas will be no parking zones as well. 

SEPTA bus routes 21 and 42 will be detoured from 5:30 a.m. to 7 p.m. on Monday. 

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=296763317a51cab90faa73f1bb146d5c'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });