gpt4 book ai didi

javascript - 谷歌地理图表使区域可点击

转载 作者:行者123 更新时间:2023-11-28 00:20:44 25 4
gpt4 key购买 nike

我从谷歌为我的网站制作了这个地理图表,但我希望这些区域是可点击的。因此,当我单击它向我显示信息时,我想添加有关该地区的信息。我想设置输出文本的样式。

还有一件事:我只想显示该国家/地区的 map ,而不显示周围国家/地区,因此我希望 map 形状为该国家/地区(在本例中为马其顿),而不是矩形。下面是js代码:

 <html>
<head>
<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script type='text/javascript'>
google.load('visualization', '1', {'packages': ['geochart']});
google.setOnLoadCallback(drawVisualization);

function drawVisualization() {var data = new google.visualization.DataTable();

data.addColumn('string', 'city');
data.addColumn('number', 'Value');
data.addColumn({type:'string', role:'tooltip'});var ivalue = new Array(); var name = new Array();

data.addRows([[{v:'MK-76',f:'Tetovë'},0,'Kipper Market']]);
ivalue['MK-TE'] = 'Obama (D) will <span style="color:#444; font-weight:bold;">win</span> in Alaska.';


data.addRows([[{v:'MK-19',f:'Gostivar'},0,'Kipper Market']]);
ivalue['MK-GV'] = 'Obama (D) will <span style="color:#444; font-weight:bold;">win</span> in Alaska.';

data.addRows([[{v:'MK-40',f:'Kërçovë'},0,'Kipper Market']]);
ivalue['MK-KI'] = 'Obama (D) will <span style="color:#444; font-weight:bold;">win</span> in Alaska.';





var options = {
backgroundColor: {fill:'#FFFFFF',stroke:'#FFFFFF' ,strokeWidth:0 },
colorAxis: {minValue: 0, maxValue: 49, colors: ['#ec2227','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#438094','#DE3403','#DE3403','#DE3403','#DE3403','#DE3403','#DE3403','#DE3403','#DE3403','#DE3403','#DE3403','#DE3403','#DE3403','#DE3403','#DE3403','#DE3403','#DE3403','#E0D39E','#E0D39E','#E0D39E','#E0D39E','#E0D39E','#E0D39E','#E0D39E','#E0D39E',]},
legend: 'none',
backgroundColor: {fill:'none',stroke:'none' ,strokeWidth:0 },
datalessRegionColor: '#f5f5f5',
displayMode: 'regions',
enableRegionInteractivity: 'true',
resolution: 'provinces',
sizeAxis: {minValue: 1, maxValue:1,minSize:10, maxSize: 10},
region:'MK',
keepAspectRatio: true,
width:100 + "%",
height:100 + '%',
tooltip: {textStyle: {color: '#444444'}, trigger:'focus'}
};
var chart = new google.visualization.GeoChart(document.getElementById('visualization'));
google.visualization.events.addListener(chart, 'select', function() {
var selection = chart.getSelection();
if (selection.length == 1) {
var selectedRow = selection[0].row;
var selectedRegion = data.getValue(selectedRow, 0);
if(ivalue[selectedRegion] != '') {document.getElementById('message').innerHTML = ivalue[selectedRegion];}
if(name[selectedRegion] != '') {document.getElementById('name').innerHTML = name[selectedRegion];}
}
});
chart.draw(data, options);



go();

window.addEventListener('resize', go);

function go(){
chart.draw(data, options);
}
}

</script>
</head>
<body>
<div id="container">
<div id="visualization"></div>
<div id="message"></div>
</div>

</body>
</html>

最佳答案

你可以试试这个

google.visualization.events.addListener(chart, 'select', function() {
var selectedItem = chart.getSelection()[0];
if (selectedItem) {
var country = data.getValue(selectedItem.row, 0);
alert (country);

if(ivalue[country] != '') {document.getElementById('message').innerHTML = ivalue[country];}
if(name[country] != '') {document.getElementById('name').innerHTML = name[country];}
}
});

关于javascript - 谷歌地理图表使区域可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30053028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com