So right now I’m in the process of making a web app for mobile devices using the Google Maps system. The idea is to point users, based on their GPS/geolocation, to the nearest Shanghai establishment selling craft beer.
Using some tutorials posted by Apple and Google on their developer sites I made a mobile site that displays a user’s geolocation (/maps). However, in China, the displayed location is inaccurate. I wrote this post at Warehouse Cafe and its nowhere near the S location:
But using geolocation feature on the Maps application on my iPhone, it showed my proper location.
After some Googling, I discovered China’s map inaccuracy is a policy throwback from the Cold War to prevent foreign powers from using publicly available maps as an aid for invasion. With current satellite and remote sensing technology, I would say such thinking is fairly arcane. In one of my earlier posts, we saw that the CIA made their own maps of China, likely because the public maps can’t be trusted.
When I first moved to Shanghai last March, back before Google pulled out of the mainland, my GPS location was fairly inaccurate. The maps app on my iPod touch was off by about 300-500 meters. However, the satellite imagery (which Google collects from non-government sources) had my proper location.
If you Google “China map offset” it will return hundreds of message board posts with people attempting to counter the problem. A few map apps have been made that display the properly aligned maps, but it’s not too helpful for developers to integrate.
Later, when Google left China and I bought an iPhone, I noticed the maps app showed my exact location. Even when I connect to the maps application through Foursquare or HiShanghai, I’m still able to find exactly where I am.
However, it’s when I load street maps from web sites, not applications, like http://maps.google.com do they come out incorrect. My location using the Google site turned up the same location as through the app on this site. As you can see, the satellite images are accurate, but fairly unhelpful when navigating the city’s streets.
When I used Baidu, China’s largest Web portal and search engine, the returned location was accurate.
I’ve looked into using the Baidu API, but it would not be helpful to non-Chinese speakers like myself because all the displayed streets would be in Chinese.
I also looked into using custom map tiles from somewhere like OpenStreetMap.org (which is used by the iPhoto app), but I encountered the same issue of Chinese character place names.
At this point, it appears the only proper way to display my custom beer maps is to integrate it with an iPhone app. So it appears my dream of a beer map for Shanghai is still a few months away.
UPDATE: The release of Apple Maps has been a hit in China. The mapping system is mostly derided in the West, but according to Wall St. Cheat Sheet, the government appears to like it. The Apple Maps system in China uses an approved mapping system from AutoNavi, a Chinese company. As a result, the GPS/geolocation seems to be the more accurate than Google before it.
John is a Technical Success Manager at WP Engine. Before moving to Austin, John lived in South Korea and China for the better part of four years. His life as an amateur Chinese web censorship expert, traveler, map nerd and beer geek can be found on this site.