This question is already answered. I discovered what the problem is.
But, I’m posting the Q&A here because others may be in the same predicament.
My google map code came from samples I found on the web.
In the “bad” code there was a line that looked like this:
var latlng= new google.maps.LatLng(results[0].geometry.location.Ua, results[0].geometry.location.Va);
This code worked until last night.
Using firebug to inspect the objects, it turns out that location is now of the form: {Ta: number, Ua: number}
My immediate fix was to use the lat() and lng() methods whenever I required the lat and/or lng.
The other fix was to instantiate my map in a more intelligent fashion.
Yes, it was silly rely upon properties uncovered deep in an object using the firebug inspector. Yes, being a google maps noob and relying on copy paste with little or no knowledge reaped its just rewards.
But, doing a quick google seach found many folks (other than the “sample” I borrowed from) also using the .Va property directly.
Hence the post here in case this is their problem too.
In case you’re interested in why this happened, it’s simple: the sample was using undocumented internals of the API, so when Google updated the Maps JS file, it broke.
More specifically,
UaandVawere auto-generated variable names resulting from minification. It looks like Google removed a variable in the original source and the labels shifted up (Ua,Va→Ta,Ua).I’ll bet I know exactly how the author of the bad sample came up with his code. He inspected a
LatLng(the type of object inlocationin your example) in his browser’s dev tools, saw that those two oddly-named variables contained the data he wanted, and just went with it. Since thelatandlngmethods are “hidden” inLatLng‘sprototype, he didn’t notice them.There are two lessons to be learned here: