No puede tratar un disparador como si manejara una fila a la vez. Si la inserción ocurre usando una cláusula de valores múltiples o una selección anidada, el activador se activará una vez durante toda la operación, lo que significa que solo manejará un @UserID arbitrario.
Aquí asumo que su tabla PlaneGPSCoordinates tiene exactamente 5 filas, y que esas son las coordenadas que obtiene cada nuevo usuario.
CREATE TRIGGER dbo.Matching
ON dbo.UserInfo
FOR INSERT
AS
BEGIN
SET NOCOUNT ON;
INSERT dbo.MatchingInformation(GPS1, GPS2, UserID)
SELECT p.GPS1, p.GPS2, i.UserID
FROM dbo.PlaneGPSCoordinates AS p
CROSS JOIN inserted AS i;
END
GO
Pero esto plantea la pregunta, ¿por qué copiar las mismas coordenadas para todos los usuarios? ¿Es esto algo que van a actualizar con frecuencia, solo quieres poner algunos valores predeterminados allí para empezar?