Google Maps works great in Beijing, but it has never worked accurately in Shanghai or many other parts of China. Countless requests to Google and Apple to fix the problem go unanswered, so we’re forced to take matters into our own hands.
Once you’ve got Cydia installed, open Cydia and choose “Manage” from the bottom menu, then choose “Sources”. Click the “Edit” button on the top right and then click the “Add” button on the top left. In the dialog box that comes up, enter the following address:
Click the “Add Source” button to continue, Cydia will verify the URL, then download a list of packages. Once that’s complete just press “Return to Cydia”, and on the top right of the Cydia window click “Done”.
Now, click on “MirrorDev” in your list of Sources, and choose “Location Fixed” from the list. Click the “Install” button on the top right.
After “Location Fixed” is installed, you’ll see a new entry in your Settings screen called “中国区地图校正” (China Map Correction”) that has two settings:
启动 (Activate) [On/Off]
联通版本（China Unicom Version) [On/Off]
Thanks to the developers at MirrorDev for doing what Apple and Google have consistently failed to do. Better yet, check out MirrorDev’s post about the Google Map Fix.