fitbounds () en la API de Google Maps V3 no se ajusta a los límites

Estoy usando el geocodificador de Google API v3 para mostrar un mapa de un país. Obtengo la ventana gráfica recomendada para el país, pero cuando quiero ajustar el mapa a esta ventana gráfica, no funciona (vea los límites antes y después de llamar a la función fitBounds en el código a continuación).

¿Qué estoy haciendo mal?

¿Cómo puedo configurar la vista de mi mapa enresults[0].geometry.viewport?

var geocoder = new google.maps.Geocoder();
geocoder.geocode(
    {'address': '{{countrycode}}'},
    function(results, status) {
        var bounds = new google.maps.LatLngBounds();
        bounds = results[0].geometry.viewport;
        console.log(bounds);          // ((35.173, -12.524), (45.244, 5.098))
        console.log(map.getBounds()); // ((34.628, -14.683), (58.283, 27.503))
        map.fitBounds(bounds);               
        console.log(map.getBounds()); // ((25.740, -24.806), (52.442, 17.380))
    }
);

Respuestas a la pregunta(2)

Su respuesta a la pregunta