2D to 3D conversion

Okay, but how did you put those static objects? Just by sight with a good eye? Like “on the 2D map this traffic light locates at that crossroad, so where is that crossroad on the 3D map? Ah, there it is! So we will put the traffic light approximately next to it”.
Did you try to understand relation between 2D values and 3D values? When you understand it, it will be the way how you will be able to convert 2D to 3D “internally”.

First of all, I would find the relation between xy coordinates in 2D and xz coordinates in 3D. When you get it, you’ll solve a half of the question.
Next, to find y in 3D. I would use THREE.Raycaster() with THREE.Vector(0, -1 ,0) direction and its origin is higher than the highest point on the 3D map. But this is not the end. As you’re working with 3D, there can be such a situation, when your object should be placed under, for example, a bridge or on some level of traffic junction. Here you have to know somehow, which part of a road your object belongs to. To prevent such behaviour, when your object (let’s say a car) goes on a road which passes under a bridge, so the moment when the car jumps on the bridge then jumps from it and continues to go further on the road.
Creativity is up to you.