In ship navigation, the most widely used technology is Global Navigation Satellite Systems (GNSS), which provide the ship’s position and velocity continuously over a period of time. However, when ships are blocked by port buildings or bridges, the quality of signals received from shipborne GNSS receivers may be reduced, resulting in inaccurate ship positioning that poses a risk to navigational safety. In an occluded environment, the measurement process during the signal processing of shipborne GNSS receivers is nonstationary and prone to measurement anomalies, which can contaminate measurement noise with outliers. To address this problem, a cascaded non-coherent vector tracking loop (VTL) is designed, with the Maximum correntropy Kalman filter (MCKF) serving as a cascaded carrier/code pre-filter for shipborne GNSS receivers. The measurement noise covariance matrix of the pre-filter is adaptively calculated and corrected using the carrier-to-noise ratio (CNR) and the maximum correntropy criterion, respectively. The algorithm proposed is more sensitive to outliers than the traditional tracking methods and can effectively solve the state estimation problem under the condition of measurement anomalies. Specifically, the algorithm offers ships with more precise position and velocity estimations and lower signal tracking errors than traditional tracking methods under both static and dynamic conditions, as demonstrated by shipboard experiments. The horizontal positioning is increased by 88.4% and the horizontal velocity error is reduced by 62.1% in the occluded environment under dynamic conditions.