The Global Positioning System (GPS) is unreliable in dense urban areas, known as urban canyons, which have tall buildings or narrow streets. This is because the buildings block the signals from many of the satellites. Combining GPS with other Global Navigation Satellite Systems (GNSS) significantly increases the availability of direct line-of-sight signals. Modelling is used to demonstrate that, although this will enable accurate positioning along the direction of the street, the positioning accuracy in the cross-street direction will be poor because the unobstructed satellite signals travel along the street, rather than across it. A novel solution to this problem is to use 3D building models to improve cross-track positioning accuracy in urban canyons by predicting which satellites are visible from different locations and comparing this with the measured satellite visibility to determine position. Modelling is used to show that this shadow matching technique has the potential to achieve metre-order cross-street positioning in urban canyons. The issues to be addressed in developing a robust and practical shadow matching positioning system are then discussed and solutions proposed.