gjw80
gjw80

Reputation: 1078

Google map v3 API change today?

My map redraws seem to be failing because (at the least) I have been dynamically setting the center via

var currCenter = gmap.getCenter();

Then:

var mapOptions = {
    center: new google.maps.LatLng(currCenter.ob, currCenter.pb),
    zoom: currZoom,
    mapTypeId: google.maps.MapTypeId.ROADMAP
};

Appears currCenter.ob is suddenly undefined this morning. It now looks like it's pb & qb instead of ob & pb. I'm in the process of trying to fix the code, is there anything else anyone knows of that was changed?

EDIT: They're undocumented API fields I shouldn't be using, nevermind I fixed it with the info below. Thanks.

Upvotes: 0

Views: 887

Answers (4)

Borja
Borja

Reputation: 3610

The problem is that Api Google maps constantly changing this values (ob, .pb) to Latitude and Longitude, you must use lat() and lng() functions to have a stable version

var mapOptions = {
center: new google.maps.LatLng(currCenter.lat(), currCenter.lng()),
zoom: currZoom,
mapTypeId: google.maps.MapTypeId.ROADMAP

};

greetings!

Upvotes: 1

Léon Pelletier
Léon Pelletier

Reputation: 2731

Rewrote them as .lng() and .lat() instead of .ob, .pb, .qp. I believe that these members should be more stable if you still want to use unofficial member names.

Upvotes: 0

user2945900
user2945900

Reputation: 31

To answer you question. YES. Google Maps API did changed last night. I was doing the same thing you did (calling .ob and .pb), but found that I had to change them to .pb and .qb in my code respectively in order to get the Lat and Long.

Upvotes: 0

JCHebert
JCHebert

Reputation: 83

I am assuming gmap is a google map object. If that is the case, then getCenter already returns a LatLng object, so creating a new object via

new google.maps.LatLng()

Is somewhat useless, you could simply use currCenter directly.

Upvotes: 1

Related Questions