this is what you mean?
http://www.banggood.com/Mini-Ublox-M8N-GPS-Module-NEO-M8N-GPS-for-APM-2_52_62_8-CC3D-SP-Racing-F3-Naze32-Flip32-PX4-p-1035454.html?rmmds=search
No that's not
DJI GPS. For reference I find one here
http://www.helipal.com/dji-gps-module-for-naza-m-multirotor-gyro-system.html for $39. They cost around $40.
It's part of DJI eco-system. You just need to change connector. There are also "compatible" GPS modules, but some of them tend to hang, so I suggest getting official one.
I can use FlexiPort to connect the gps? because the main port is already occupied by s bus receiver.
No, GPS goes to main-port. GPS uses serial protocol (UART) and communication goes over DJI proprietary protocol which was reverse engineered and Revo can decode it.
Since Mag data are combined in GPS messages, so you don't need additional wires for Mag.
That leaves you with Flexi Port free which you can use for Sbus (I do) and on Revo you have also Flexi-IO (aka receiver) port, one with 8 lines, check wiki to see which of these lines are TX,RX for serial connection, those can be used for sending telemetry to OSD. Then you would have GPS+MAG, Sbus and OSD connected.