Geolocalización de la API de Google Map después de la primera visualización del mapa

Este código toma una gran lista de (400) marcadores y los agrega al mapa; al final, muestra el mapa completo, incluidos todos los marcadores.

Lo que he intentado lograr es: cuando la geolocalización está disponible, centre el mapa en la ubicación, amplíe el nivel 16 y actualice el mapa para mostrarlo, de lo contrario, deje que se muestre todo el mapa grande ... He leído y probado muchas cosas diferentes , pero la geolocalización debe sucederantes de Se crea el mapa. Quiero hacer que suceda después. Te muestro mi código aquí y el enlace temporal al sitio de trabajo:http://studioteknik.co/brasseursillimites.com/detaillants/

function initialize()
{
    var map = new google.maps.Map(document.getElementById('map-canvas'));
    var bounds = new google.maps.LatLngBounds();
    var infowindow = new google.maps.InfoWindow();

    for (var i in locations) {

        var p = locations[i];
        var latlng = new google.maps.LatLng(p[1], p[2]);
        bounds.extend(latlng);

        var marker = new google.maps.Marker({
            position: latlng,
            map: map,
            title: p[0]
        });

        google.maps.event.addListener(marker, 'click', function() {
            infowindow.setContent(this.title);
            infowindow.open(map, this);
        });
    }

    map.fitBounds(bounds);
}

google.maps.event.addDomListener(window, 'load', initialize);

Respuestas a la pregunta(1)

Su respuesta a la pregunta