leggendo qua e la mi pare di capire che non sia possibile evitare di chiedere il permesso.
quindi per ora ho optato per una soluzione del genere:
codice:
function getLocation() {
    if (sessionStorage.getItem("latitudine") === null) {
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(function(position) {
                if (typeof(sessionStorage) !== "undefined") {
                    sessionStorage.setItem("latitudine", position.coords.latitude);
                    sessionStorage.setItem("longitudine", position.coords.longitude);
                    console.log(sessionStorage.getItem("latitudine") + " - " + sessionStorage.getItem("longitudine"));
                }
            });
        }
    } else {
        console.log(sessionStorage.getItem("latitudine") + " - " + sessionStorage.getItem("longitudine"));
    }
}
ho usato sessionStorage in modo da richiederlo all'utente solo la prima volta che entra nella pagina fino a che non chiude il browser.

poi metterò un codice per chi non supporta sessionStorage (anche se essendo a scopo didattico non mi interessa più di tanto).

se per caso qualcuno ha una soluzione alternativa sono tutto orecchi!
ciao!!