The Global Navigation Satellite System (GNSS) is widely used for its high accuracy, wide coverage, and strong real-time performance. However, limited by the navigation signal mechanism, satellite signals in urban canyons, bridges, tunnels, and other environments are seriously affected by non-line-of-sight and multipath effects, which greatly reduce positioning accuracy and positioning continuity. In order to meet the positioning requirements of human and vehicle navigation in complex environments, it was necessary to carry out this research on the integration of multiple signal sources. The Fifth Generation (5G) signal possesses key attributes, such as low latency, high bandwidth, and substantial capacity. Simultaneously, 5G Base Stations (BSs), serving as a fundamental mobile communication infrastructure, extend their coverage into areas traditionally challenging for GNSS technology, including indoor environments, tunnels, and urban canyons. Based on the actual needs, this paper proposes a system algorithm based on 5G and GNSS joint positioning, aiming at the situation that the User Equipment (UE) only establishes the connection with the 5G base station with the strongest signal. Considering the inherent nonlinear problem of user position and angle measurements in 5G observation, an angle cosine solution is proposed. Furthermore, enhancements to the Sage–Husa Adaptive Kalman Filter (SHAKF) algorithm are introduced to tackle issues related to observation weight distribution and adaptive updates of observation noise in multi-system joint positioning, particularly when there is a lack of prior information. This paper also introduces dual gross error detection adaptive correction of the forgetting factor based on innovation in the iterative Kalman filter to enhance accuracy and robustness. Finally, a series of simulation experiments and semi-physical experiments were conducted. The numerical results show that compared with the traditional method, the angle cosine method reduces the average number of iterations from 9.17 to 3 with higher accuracy, which greatly improves the efficiency of the algorithm. Meanwhile, compared with the standard Extended Kalman Filter (EKF), the proposed algorithm improved 48.66%, 35.17%, and 38.23% at 1σ/2σ/3σ, respectively.