google.maps.Geocoder.geocode () geometry.location Los nombres de propiedad lat / lng cambian con frecuencia

Tengo una aplicación y estoy usando la API de geoencoding de Google Javascript para buscar lat / lng para una dirección.

El código va algo así como

geocoder = new google.maps.Geocoder() geocoder.geocode({ 'address': query }, function(results, status) { addresses = {}; $.each(results, function(index, value){ addresses[index] = {"lat":value.geometry.location.$a,"lng":value.geometry.location.ab} }) }); 

Todo está bien y elegante, pero el hecho es que los nombres de propiedad del objeto de ubicación cambian periódicamente. Cada vez que cambian, mi sitio se rompe.

Dos veces tuve que cambiar mi código para adaptarme a los extraños cambios de nombre de propiedad lat / lng en la API de geolocalización. Originalmente era Xa, Ya, luego tuve que cambiar a Ya, Za, y ahora es $ a, ab. No veo ninguna lógica amigable detrás de estos cambios.

¿Alguien sabe por qué cambian estos nombres de propiedad y / o qué estrategia puedo usar para obtener el lat / lng mientras evito los problemas causados ​​por estos cambios en el nombre de la propiedad?

Use las propiedades documentadas, no cambiarán

geometry.location es un objeto google.maps.LatLng , los métodos documentados son:

 lat() number Returns the latitude in degrees. lng() number Returns the longitude in degrees.