¿Cómo funciona?
El lado de PHP: Recibe las direcciones enviadas por POST, las limpia para evitar inyecciones XSS y las convierte a formato JSON (json_encode) para pasárselas a JavaScript.
El lado del Formulario (HTML/JS): Tiene un botón de + Agregar Parada que clona los campos de texto, y botones X para eliminar paradas (sin permitir que queden menos de 2 direcciones).
El lado del Mapa (Google Maps JS API): Toma el arreglo de direcciones en JavaScript. La primera la pone como Origen, la última como Destino, y todas las de en medio las introduce en un arreglo llamado waypoints (paradas intermedias).
optimizeWaypoints: true: Esta línea es muy útil. Si el usuario pone 5 direcciones desordenadas, Google calculará el orden más rápido para visitarlas.
Instrucciones de uso:
Guarda el código en un archivo llamado index.php.
Ponlo en tu servidor local (XAMPP, WAMP, Laragon, etc.) en la carpeta htdocs o www.
Busca la línea const apiKey = 'TU_API_KEY_AQUI'; y reemplázala con tu clave real de Google Cloud.
Accede desde tu navegador a http://localhost/index.php.