The component loads GeoJSON client-side and converts each LineString or MultiLineString route into a Line2 object from three-stdlib.
The rendering pipeline is intentionally simple:
public/data/bj-bus.json copy.[lng, lat] pairs with Web Mercator and subtract a local center.mapScale so the whole Beijing network fits the preview camera by default.LineMaterial with worldUnits for stable width in the Three scene.This avoids generating heavy tube meshes for roughly 64,000 source points and keeps the logic readable.
The component exposes:
dataUrl, dataUrlDraft, maxRoutes, pointSampleStep.autoCenter, centerLng, centerLat, mapScale.lineWidth, baseHeight, heightStep, heightGroups.colorTheme, opacity, pulseSpeed, pulseIntensity.Defaults use the local Mars3D dataset copy, automatic bounds centering, full route count, and a light point sample step for preview performance. Hosts can edit dataUrlDraft and click the confirm action to apply a different URL; they can set pointSampleStep to 1 for full coordinate fidelity.