2017-02-20 4 views
1

У меня есть некоторые проблемы с GeoCode: моя карта делает более 30 секунд для отображения всех регионов. Фактически, я хочу, чтобы каждая страна была переведена на мой язык (французский), поэтому я напрямую назвал страны с их французскими именами, и это работает очень хорошо, API определяет все страны правильно. Но проблема в том, что для определения страны, похоже, требуется много времени с большим количеством данных.Карта GeoChart слишком длинна для загрузки

Я могу показать вам пример codepen, который имеет точно такую ​​же проблему: https://codepen.io/ocariceo/pen/vywoLN (единственное различие - испанский язык).

var data = google.visualization.arrayToDataTable([ 
     ['', 'Inmigrantes'], 
     ['Alemania', 4665], 
     ['Estados Unidos', 25605], 
     ['Brasil', 13951], 
     ['Canada', 2613], 
     ['Francia', 6190] 
]); 

Когда я смотрю в Chrome Developer Tools> Network, он говорит мне, что финишный график, чтобы отобразить все страны через 29 секунд ...:/

Есть ли случайно способ, чтобы определить ISO-код (или английское название) каждой страны + отображение французского имени?

Заранее благодарим за ваш ответ!

ответ

2

использование объект обозначения, чтобы обеспечить английский или ISO значение (v:) для более быстрой загрузки,
и форматированное значение (f:) для отображения французского названия, например

[{v: 'United States', f: 'Estados Unidos'}, 25605], 

- или -

[{v: 'US', f: 'Estados Unidos'}, 25605], 

см следующий рабочий фрагмент кода ...

google.charts.load('current', { 
 
    callback: drawRegionsMap, 
 
    packages: ['geochart'] 
 
}); 
 

 
function drawRegionsMap() { 
 
    var data = google.visualization.arrayToDataTable([ 
 
    ['', 'Inmigrantes'], 
 
    [{v: 'Germany', f: 'Alemania'}, 4665], 
 
    [{v: 'United States', f: 'Estados Unidos'}, 25605], 
 
    [{v: 'Brazil', f: 'Brasil'}, 13951], 
 
    [{v: 'Canada', f: 'Canada'}, 2613], 
 
    [{v: 'France', f: 'Francia'}, 6190] 
 
    ]); 
 

 
    var chart = new google.visualization.GeoChart(document.getElementById('chart_div')); 
 
    chart.draw(data); 
 
}
<script src="https://www.gstatic.com/charts/loader.js"></script> 
 
<div id="chart_div"></div>

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