JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://maps.googleapis.com/maps/api/js?v=3.16&amp;key=AIzaSyBbbaPPFHzjmm_vu9AFkJFk7VWQuKoPM1c&amp;sensor=false"></script>
<body onload = "init_map()">
    <div id="map"></div>
</body>

CSS

#map {
    position: absolute;
    width: 100%;
    height: 100%;
    margin: 20px;
}

JavaScript

var last = {time : new Date(),    // last time we let an event pass.
            x    : -100,          // last x position af the event that passed.
            y    : -100};         // last y position af the event that passed.
var period = 100; // ms - don't let pass more than one event every 100ms.
var space  = 2;   // px - let event pass if distance between the last and
                  //      current position is greater than 2 px.

function init_map() {
    map_div = document.getElementById("map")
    // map
    var map_options = {
        center: new google.maps.LatLng(45.836454, 23.372497),
        zoom: 8
    };
    map = new google.maps.Map(document.getElementById("map"), map_options);
    
    // register event handler that will throttle the events.
    // "true" means we capture the event and so we get the event
    // before Google Maps gets it. So if we cancel the event,
    // Google Maps will never receive it.
    map_div.addEventListener("mousemove", throttle_events, true);
};

function throttle_events(event) {
    var now = new Date();
    var distance = Math.sqrt(Math.pow(event.clientX - last.x, 2) + Math.pow(event.clientY - last.y, 2));
    var time = now.getTime() - last.time.getTime();
    if (distance * time < space * period) {    //event arrived too soon or mouse moved too little or both
        console.log("event stopped");
        if (event.stopPropagation) { // W3C/addEventListener()
            event.stopPropagation();
        } else { // Older IE.
            event.cancelBubble = true;
        };
    } else {
        console.log("event allowed: " + now.getTime());
        last.time = now;
        last.x    = event.clientX;
        last.y    = event.clientY;
    };
};