Commercial GNSS devices tend to perform poorly in urban canyon environments. The buildings' density and height in such environments block the signals from many of the satellites. In this work, we present a novel yet simple approach for tackling this accuracy problem. The novelty of the suggested method lies in analyzing insufficient LOS to satellites and improving the estimated location using few shadow matching methods. Given an estimated location of the GNSS device and given the satellite signal-strength, the algorithm calculates in real-time invalid points inside the ROI (Region Of Interest). This approach reduces the ROI to a fraction of its original size. Using both simulation and field experiment we have shown that the suggested method can improve existing GNSS devices accuracy in urban canyons. Moreover, in urban regions with accurate 3D building map the positioning accuracy might break the 1 meter accuracy bound.