Urban Positioning: 3D Mapping Aided GNSS using Dual-Frequency Pseudorange Measurements from Smartphones