2012-09-18 2 views
4

Google Maps V3 API의 새로운 Symbols 객체를 테스트하고 있습니다. 동일한 심볼 경로와 색상을 가진 400 개의 마커의 모든 "아이콘"속성을 설정했습니다.Marker의 새로운 Google지도 Symbol 객체로 인해 IE 속도가 느려짐

Firefox 또는 Chrome으로 샘플 페이지를 볼 때 모든 것이 빠르게로드되고 훌륭하게 작동합니다.

불행히도 ... Internet Explorer의 성능이 매우 나쁩니다. 로딩 할 때 나지도를 드래그하거나 확대/축소하려고 할 때 불량합니다.

여기 당신이 최악의 도착 몇 가지 추가 속성 및 이벤트와 함께 사용할 때 IE

var map; 
    function initialize() { 
    var mapDiv = document.getElementById('map-canvas'); 
    map = new google.maps.Map(mapDiv, { 
     center: new google.maps.LatLng(37.4419, -122.1419), 
     zoom: 13, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 

    google.maps.event.addListenerOnce(map, 'tilesloaded', addMarkers); 

    } 

    function addMarkers() { 
    var bounds = map.getBounds(); 
    var southWest = bounds.getSouthWest(); 
    var northEast = bounds.getNorthEast(); 
    var lngSpan = northEast.lng() - southWest.lng(); 
    var latSpan = northEast.lat() - southWest.lat(); 
    for (var i = 0; i < 400; i++) { 
     var latLng = new google.maps.LatLng(southWest.lat() + latSpan * Math.random(), 
              southWest.lng() + lngSpan * Math.random()); 
     var marker = new google.maps.Marker({ 
     position: latLng, 
     icon:{ 
      path: google.maps.SymbolPath.CIRCLE, 
      fillOpacity: 1, 
      strokeWeight: 0, 
      scale: 4 
     }, 
     map: map 
     }); 
    } 
    } 

에 테스트하는 데 사용할 수있는 간단한 자바 스크립트 예제입니다! 그러나 마커의 '아이콘'속성을 삭제하면 기본 Google 마커가 나타나고 모든 것이 Chrome 및 Firefox처럼 빠르게 진행됩니다.

Symbol을 사용할 때 IE에서 느린 이유는 누구에게도 대답이 없습니까? 어떻게 처리 속도를 높일 수 있을까요?

감사합니다.

+0

어떤 Internet Explorer 버전을 사용하고 있습니까? – j0nes

+0

@ j0nes - IE 9 (9.0.8112.16421 - 업그레이드 버전 9.0.7)를 사용하고 있습니다. 감사합니다! – rattek

답변

1

Google지도의 기호 아이콘은 새로운 VectorIcons의 일부입니다. 이들은 비트 맵이 아니지만 SVG 형식의 벡터 경로로 설명됩니다. 이것은 기본적으로 모양이 완성 될 때까지 그려지는 점이 많은 경로입니다.

이제 많은 그림이 그려져야하는 SVG 경로를 의미합니다. 다른 브라우저에서 다른 렌더링 속도를 볼 때 기본적으로 브라우저의 SVG 렌더링 엔진을 비교하고 있습니다. 응용 프로그램에서 IE9가 다른 브라우저보다 느린 것처럼 보입니다.

나는 이것을 가속화 할 방법이 없다고 생각합니다. 허용되는 렌더링 속도에 도달 할 때까지 표시된 마커 (예 : 클러스터링) 수를 줄일 수 있습니다. 또는 단순히 비트 맵 아이콘을 사용할 수 있습니다.

+0

시간 내 주셔서 감사합니다. 이해하지만 어제 다른 IE 버전 (IE 개발자 도구 사용)으로 더 테스트하고 IE9에만 문제가있는 것으로 보입니다. IE8과 7은 괜찮습니다 ... IE9 자바 스크립트 엔진에 문제가있는 것으로 보입니다. – rattek

+0

IE9는 기본 SVG를 지원합니다. 이전 버전은 [여기에 설명 된] 헬퍼 라이브러리를 사용합니다 (http://googlecode.blogspot.de/2009/10/svg-at-google-and-internet-explorer.html).) 또는 벡터 데이터를 그리는 다른 방법을 사용하십시오. 예를 들어, [Highcharts] (http://www.highcharts.com/)와 같은 VML을 사용하십시오. 차이점을 설명합니다. – j0nes

+1

링크 주셔서 감사합니다! 글쎄, 그들이 빠르게 라이브러리를 개선하기를 바랍니다 ... "현대적인"브라우저가 Google Maps Symbol과 같은 기능의 사용을 제한하는 것을 보는 것은 실망 스럽습니다. – rattek

관련 문제