As far as I can see, the only real way to prevent this kind of thing would be to have checks in the backend. E.g. if you've "travelled" hundreds of kilometers in a couple of minutes, that's a pretty strong indication that you're cheating.
As long as it's constantly recording and reporting on your GPS location, I think it should be possible to come up with heuristics for when you're actually moving and when you're faking. But it seems they're not doing anything like this at the moment.
What if they built into the game a mechanism that uses bluetooth to verify proximity when two players should be close to each other?
Google collects a lot of data for mobile devices; they should be able to avoid using, for mutual location verification, devices that are suspected of belonging to the same person.
I think it'd be reasonable -- for more than just cheating reasons -- to make your scanner move at, say, a maximum of 25mph. So if your "actual" location is, say, 50 miles from your last location, but it's only been an hour, your scanner is disabled for an hour.
That would probably disable most "war-driving" strategies, while making most (but not all) legitimate strategies still available. And, I think that war-drivers probably detract from the game overall.
Or you could choose a higher maximum speed if you wanted to -- 40mph (as the crow flies) would probably only disallow cheaters for the most part, though it might disable your scanner for several hours after a plane flight.
And you'd make the game completely unplayable for everyone that doesn't live in a big city. A lot of people don't seem to realize that unless you're in a densely populated area with a lot of history, there is really no choice but to drive.
Since it's Google, they have a lot of photos with location IDs. I wonder if there's something they can do along those lines. But then anything they have an algorithm to score on the back end could be faked with an algorithm on the front end.
As far as I can see, the only real way to prevent this kind of thing would be to have checks in the backend. E.g. if you've "travelled" hundreds of kilometers in a couple of minutes, that's a pretty strong indication that you're cheating.
As long as it's constantly recording and reporting on your GPS location, I think it should be possible to come up with heuristics for when you're actually moving and when you're faking. But it seems they're not doing anything like this at the moment.