Странная проблема скорости с GoogleMaps в IE - PullRequest
1 голос
/ 28 января 2010

У меня простой веб-сайт с GoogleMaps. В моих GoogleMaps есть mouseMove-событие. У всех браузеров все ок, кроме IE. Когда я перемещаю курсор мыши по карте - IE очень сильно использует процессор. mouseMove-событие очень важно для моего сайта, но из-за IE оно работает очень медленно. Я гуглю его и нахожу ту же проблему (26 июня 2006 г.): gmap2 mousemove события, использующие 100% CPU в IE . Я проверял это в IE6 и IE8. Как я могу использовать mouseMove и иметь нормальную скорость?

У меня очень простая мышьMove:

        // Script
        GEvent.addListener(map, "mousemove", function(point) {
            mousex = point.x;
            mousey = point.y;
            document.getElementById('LatLng').innerHTML = 
                            'LatLng: ' + mousex + ', ' + mousey;
        } );
        // Body
        <span id="LatLng">LatLng</span>

1 Ответ

1 голос
/ 30 января 2010

Я думаю, что есть возможность ускорить его, если вы используете setTimeout (), чтобы гарантировать, что вы вызываете обработчик перемещения мыши только 10 раз в секунду. Что-то вроде:

var wait = false;
GEvent.addListener(map, "mousemove", function(point) {
    if (!wait) window.setTimeout("showLatLng('+point+')", 100);
    wait = true;
}
function showLatLng(point) {
        mousex = point.x;
        mousey = point.y;
        document.getElementById('LatLng').innerHTML = 
                        'LatLng: ' + mousex + ', ' + mousey;
        wait = false;
}

Не проверял, но это может сработать. Надеюсь, что это так:)

...