сначала, чтобы отобразить каждое "состояние", вам понадобится следующая опция ...
resolution: 'provinces'
затем GeoChart использует цвета, отличные от других диаграмм Google.
он используетColorAxis
colorAxis
- Объект, который задает сопоставление между значениями цветового столбца и цветами на шкале градиента.Чтобы указать свойства этого объекта, вы можете использовать буквенное обозначение объекта, как показано здесь:
{maxValue: 1, minValue: 0, colors: ['#FF0000', '#00FF00']}
цвет рассчитывается на основе значения строки из сочетания предоставленных цветов.
в только что указанном примере,
цвет строки с минимальным значением будет # FF0000
цвет строки с максимальным значением будет # 00FF00
остальные цвета строки будутградиент где-то между двумя
, чтобы предоставить каждому состоянию уникальный цвет,
нам нужно будет предоставить значения для каждой строки
вместе с цветом
, поэтому вваш пример, нам нужно ...
colorAxis: {
colors: ['green', 'blue', 'yellow'],
values: [19, 20, 22] // <-- colors must be in numerical order
},
примечание, каждое состояние, которое вы хотите выделить, должно иметь уникальное значение.
см. Следующий рабочий фрагмент ...
google.charts.load('current', {
packages:['geochart'],
mapsApiKey: 'AIzaSyD-9tSrke72PouQMnMX-a7eZSW0jkFMBWY'
});
google.charts.setOnLoadCallback(drawRegionsMap);
function drawRegionsMap() {
var data = google.visualization.arrayToDataTable([
['State', 'Popularity'],
['Maharashtra', 22],
['Goa', 19],
['Gujarat', 20]
]);
var options = {
region: 'IN',
colorAxis: {
colors: ['green', 'blue', 'yellow'],
values: [19, 20, 22]
},
dataMode: 'markers',
resolution: 'provinces',
legend: 'none'
};
var chart = new google.visualization.GeoChart(document.getElementById('regions_div'));
chart.draw(data, options);
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="regions_div"></div>