2010-01-28 2 views
1

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

У меня есть очень простой MouseMove:

 // 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

Я думаю, что есть потенциал, чтобы ускорить его, если вы используете SetTimeout(), чтобы убедиться, что вы только вызываете обработчику MouseMove 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; 
} 

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

Смежные вопросы