There's something I don't quite understand about SLAM. When a self-driving car wants to locate itself using a prior map, how does it do that when the environment keeps changing, e.g., new cars parked on the curb, etc.? Even if it uses a 3D map, the current sensor would be quite different to the prior map if there're new objects on the road.
The landmarks chosen for a given location should include many that only infrequently change - for example, features of buildings, such as architectural motifs, corners of the structure, utility installations etc. Parked cars would make for poor landmarks precisely because of their transience.
In addition to the DavidJ's comment, there is a technique called feature based odometer. Even the objects in the environment are not in the prior map, the robot use them to correct it's pose estimation. Scan matching is one of the methods use for this. When it sees a new landmark, move few steps further and if it's still able to see that landmark, it will match the current laser scan with a previous scan to calculate the pose error.