2016-07-26 1 views
0

Screenshot attached Я хочу построить круговую диаграмму на карте Google. Мой код отлично работает на хроме, но в IE 11, когда число круговой диаграммы> 50, тогда он занимает огромное время.Круговая диаграмма на Google карте

В хромированном рабочем состоянии я тестировал более 100 круговых диаграмм.

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

function drawPieCharts() { 

var latLng = new google.maps.LatLng(37.0902, 95.7129); 
var map = new google.maps.Map($('#mapUsers')[0], { 
    zoom: 2, 
    center: latLng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}); 
google.maps.event.addListenerOnce(map, 'idle', function() { 

}); 
var data; 
var options; 
var marker; 
$.ajax({ 
    type: "POST", 
    url: "Dashboard.aspx/GetCyberRiskViewMap", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function (data) { 
     var ChartSourceobj = JSON.parse(data.d); 
     for (var i = 1; i < ChartSourceobj.length ; i++) { 
      latLng = new google.maps.LatLng(ChartSourceobj[i].latitude, ChartSourceobj[i].longitude); 
      data = google.visualization.arrayToDataTable([ 
       ['Events', 'User Events'], 
       ['Malicious', ChartSourceobj[i].malicious_count], 
       ['Suspicious', ChartSourceobj[i].suspicious_count], 
       ['New', ChartSourceobj[i].new_count] 

      ]); 

      options = { 
       fontSize: 10, 
       backgroundColor: 'transparent', 
       datalessRegionColor: '#abafb8', 
       legend: 'none', 
       pieSliceText: 'none', 
       slices: { 0: { color: '#FE2E2E' }, 1: { color: '#FF8000' }, 2: { color: '#FACC2E' } } 

      }; 

      marker = new ChartMarker({ 
       map: map, 
       position: latLng, 
       width: '80px', 
       height: '80px', 
       chartData: data, 
       chartOptions: options, 
       events: { 
        click: function (event) { 

        } 
       } 
      }); 

     } 

    }, 
    error: function (data) { 

    } 
}); 

};

+0

Вопросы, требующие помощи по отладке («почему этот код не работает?») Должны включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для воспроизведения в самом вопросе. Вопросы без четкого описания проблемы не полезны другим читателям. См. [Как создать минимальный, завершенный и проверяемый пример] (http://stackoverflow.com/help/mcve). – geocodezip

+0

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. –

+0

В коде нет ничего неправильного. Просто каждый браузер имеет дело с DOM по-своему. Это во многом зависит от внутренней работы этого «ChartMaker», который используется, если он использует Canvas, SVG или что-то еще. Каждый элемент DOM вносит свой вклад в производительность браузера. – amenadiel

ответ

0

Недавно мне пришлось реализовать круговые диаграммы в качестве маркеров для многих местоположений на карте. Наличие множества мест в приложении карты также требовало кластеризации маркеров ... В моем конкретном случае отображение круговой диаграммы в качестве наложения не соответствовало, поэтому я построил простую библиотеку. Возможно, это слишком большая библиотека, потому что теперь это только одна функция, которая генерирует узел pie-char svg. Репозиторий Github с примером того, как использовать функцию вместе с Google-картами ниже.
Repository

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

  • Нет связанных вопросов^_^