【发布时间】:2017-03-06 10:40:15
【问题描述】:
我正在使用地理图表为我的网站显示世界各地的可用商店,我需要添加可用商店的数据,并在我单击地图上的某个区域时在 div 中显示此数据。以下是我的代码:
<!DOCTYPE html>
<html>
<head>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAJ142umlpMPn6tahte2VZwwNUfHkVZXcs">
</script>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['geochart']});
google.charts.setOnLoadCallback(drawMap);
<!-- google.load('visualization', '1', { packages: ['geochart'],callback: drawMap }); -->
function drawMap() {
var data = google.visualization.arrayToDataTable([
['Country'],
['Austria'],
['Belgium'],
['Bulgaria'],
['China'],
['Croatia'],
['Czech Republic'],
['France'],
['Germany'],
['Greek'],
['Hungary'],
['India'],
['Italy'],
['Japan'],
['Kazakhstan'],
['Luxembourg'],
['Moldova'],
['Netherlands'],
['Pakistan'],
['Poland'],
['Portugal'],
['Romania'],
['Russia'],
['Serbia'],
['Slovakia'],
['Spain'],
['Sweden'],
['Switzerland'],
['Turkey'],
['Ukraine']
]);
var options = {
backgroundColor: '#81d4fa',
defaultColor: '#FCC51D',
dataMode: 'regions',
<!-- region:'IN' -->
};
var container = document.getElementById('regions_div');
var chart = new google.visualization.GeoChart(container);
function myClickHandler() {
var selection = chart.getSelection();
document.getElementById('region-info').style.visibility="visible";
<!-- var message = ''; -->
for (var i = 0; i < selection.length; i++) {
var item = selection[i];
if (item.row != null && item.column != null) {
//message += '{row:' + item.row + ',column:' + item.column + '}';
document.getElementById('region-info').innerHTML = "This is the region where we put store-info";
} else if (item.row != null) {
<!-- message += '{row:' + item.row + '}'; -->
document.getElementById('region-info').innerHTML = "This is the region where we put store-info";
} else if (item.column != null) {
<!-- message += '{column:' + item.column + '}'; -->
document.getElementById('region-info').innerHTML = "This is the region where we put store-info";
}
google.visualization.events.addListener(chart, 'select', myClickHandler);
$( "#zoomin" ).click(function() {
var zoom = $( "#map-area" ).css( "zoom",1.4 );
});
$( "#zoomout" ).click(function() {
var zoom = $( "#map-area" ).css( "zoom",1 );
});
chart.draw(data, options);
}
</script>
<style>
.jvectormap-zoomin,.jvectormap-zoomout{
border: 1px solid #c8d9e5;
color: #565a5b;
font-family: 'DINWebPro-Medium W01 Regular',"Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 42px;
text-align: center;
cursor: pointer;
width: 55px;
position: absolute;
opacity: 0.5;
left: 17px;
background: white;
height: 44px;
}
.jvectormap-zoomin{
bottom: 55px;
}
.jvectormap-zoomout{
bottom: 5px;
}
.geocharts-container{
height:100%;
width:100%;
position:relative;
overflow:hidden;
border: 1px solid #000;
}
</style>
</head>
<body>
<div class="geocharts-container">
<div id="map-area" style="width: 80%; height: 600px;float:left;"><div id="regions_div"></div></div>
<div id="zoomin" class="jvectormap-zoomin">+</div>
<div id="zoomout" class="jvectormap-zoomout">-</div>
<div id="region-info" style="float:right;width:20%;height:600px;visibility:hidden;">Text area</div>
</div>
</body>
</html>
当我点击俄罗斯等地图上的区域时,可用商店/商店地址的数据应显示在地图旁边的“region-info”div中。
【问题讨论】:
标签: javascript jquery html google-api google-visualization