@ramjet
as suggested by obj (some years ago) gpsd is the way to go.
i have an el-cheapo u-blox7 based USB gps (10$ or so) and works well with my pi.
sudo apt-get install -y gpsd
sudo apt-get install -y gpsd-clients
sudo apt-get install -y python-gps
sudo apt-get install -y libcap-dev
sudo apt-get install -y pps-tools
then in /boot/cmdline.txt add
console=ttyACM0,115200
and in /etc/rc/local add (before the exit 0)
sudo gpsd /dev/ttyACM0 -F /var/run/gpsd.sock
reboot and then, in command line run :
sudo cgps -s
and if all went well, you’ll see the gps output on-screen,
or if in raspbian desktop run the app gpsmon.
flightaware auto detects and uses gpsd positions.
HTH
evangel