[英]Google Geochart (1.1) tooltip styles
我正在使用Google的Geochart,並在此處跟蹤了許多示例和選項: https : //developers.google.com/chart/interactive/docs/gallery/geochart ,通常它已經成功了,但是我對兩件事感到很好奇:
tooltip
的寬度,邊框等。 tooltip
的字體大小,但似乎不起作用。 我正在使用1.1版,因為它允許在工具提示中使用HTML,但是我在任何地方都找不到此文檔。
google.load('visualization', '1.1', {packages: ['geochart'], callback: drawVisualization});
function drawVisualization() {
var data = google.visualization.arrayToDataTable([
['Country', 'Coverage', {role: 'tooltip', p:{html:true}}],
['United Kingdom', 2, 'Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.'],
['United States', 2, 'Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat.'],
['China', 2, 'Hello China'],
['Brazil', 2, '<img src="https://www.google.com/images/srpr/logo6w.png"/>']
]);
var options = {
sizeAxis: { minValue: 0, maxValue: 100 },
legend: 'none',
tooltip: {
isHtml: true,
textStyle: {
fontSize: 21
}
},
colorAxis: {colors: ['#F1F1F1', '#4CBCBF']} // grey to cyan
};
var chart = new google.visualization.GeoChart(document.getElementById('chart-canvas'));
chart.draw(data, options);
}
<div id="chart-canvas" style="height:500px;"></div>
為了我們的理智,我建立了一個jsFiddle http://jsfiddle.net/w5DYt/
謝謝,R
1)Google不支持此功能,但是您可以手動覆蓋它:
.google-visualization-tooltip{
width:100px !important;
border: 2px solid red !important;
}
2) isHtml: true
覆蓋您的textStyle配置,您應該使用一個類將文本包裝在一個范圍內,然后使用CSS設置所需的textStyle
3)Google不支持點擊處理程序,但是有一個選擇項。 您可以執行以下操作:
var chart = new google.visualization.GeoChart(document.getElementById('chart-canvas'));
function ready(){
google.visualization.events.addListener(chart, 'select', handler);
function handler(){
var selection=chart.getSelection();
if(selection.length==1){
console.log(data.getValue(selection[0].row,2))
}
}
}
google.visualization.events.addListener(chart, 'ready', ready);
chart.draw(data, options);
完整的提琴: http : //jsfiddle.net/w5DYt/1/
您可以將工具提示內容包裝在div中,然后使用類(或內聯樣式)對其進行樣式設置:
[javascript]
function drawVisualization() {
var data = google.visualization.arrayToDataTable([
['Country', 'Coverage', {role: 'tooltip', p:{html:true}}],
['United Kingdom', 2, '<div class="tooltip">Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.</div>'],
['United States', 2, '<div class="tooltip">Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat.</div>'],
['China', 2, '<div class="tooltip">Hello China</div>'],
['Brazil', 2, '<div class="tooltip">Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat.</div>']
]);
var options = {
sizeAxis: { minValue: 0, maxValue: 100 },
legend: 'none',
tooltip: {
isHtml: true,
textStyle: {
fontSize: 21
}
},
colorAxis: {colors: ['#F1F1F1', '#4CBCBF']} // grey to cyan
};
var chart = new google.visualization.GeoChart(document.getElementById('chart-canvas'));
chart.draw(data, options);
}
[CSS]
.tooltip {
width: 200px;
min-height: 50px;
}
您可以使用兩個事件來捕獲點擊: select
和regionClick
。 當用戶單擊有數據的區域(在您的示例中為英國,美國,中國,巴西)時, select
(如juvian所示)有效; 單擊任何區域時,即使該區域不在您的數據集中,也將觸發regionClick
,並返回一個具有region
屬性的對象,該對象保存該region
的ISO代碼:
google.visualization.events.addListener(chart, 'regionClick', function (e) {
// e.region contains the ISO code for the clicked region
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.