QGC compass oscillating and showing wrong home location after connect PX4 with Gazebo

Hello I am new to ROS Gazebo as well as using PX4 in Ubuntu. I am using Ubuntu 20.04, ROS Noetic and having an issue with PX4. So currently I follow this video to set up Gazebo simulation for my quadcopter: 1. Basic Environment Setup for Gazebo/ROS/PX4 Simulation on Ubuntu 20.04 LTS - YouTube . After doing step by step instruction in the video, I can start the simulation but there is one problem. At first I connect my Pixhawk 4 to the laptop and open QGC, it shows me the exact location I am standing. But after connect with ROS and Gazebo, the location change to somewhere in Europe? What is the cause of this? Is it a map specified by default in the setting or it is actually an error? I pre-define my location, but it cannot show exact location either (in the image the QGC symbol is where I am standing in real life while the other arrow is an error), how do I fix it?
Secondly, from the first time I simulate with Gazebo, after starting gazebo simulation, my compass in QGC just shaking non-stop and is not stable, anyone went through this problem? For the hardware setup, I only plug in GPS module to Pixhawk 4 and connect the Pixhawk 4 to my laptop, are there anything else I need to perform? I am still new to ROS and PX4 so forgive my lack of knowledge.