程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何添加 Google GeoChart 地图的链接?

发布于2024-11-03 21:55     阅读(907)     评论(0)     点赞(20)     收藏(1)


我正在尝试使用 Google 的 GeoChart 为网站创建自定义可点击地图。我希望​​国家/地区可点击,这样用户在地图上选择不同的国家/地区后,就会将其引导至单独的网页。此外,我希望在选中状态下颜色会发生变化。有人能帮助我使用 JavaScript 添加选择事件吗?我将不胜感激。

下面是我目前拥有的代码。

  <html>
  <head>
  <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js">
  </script>

  <script type="text/javascript">
  google.charts.load('current', {
    'packages':['geochart'],
    'mapsApiKey': 'AIzaSyD3MfRYHAynUsxWCZ8NDsA3cwvWlTkhT1s'
  });
  google.charts.setOnLoadCallback(drawRegionsMap);

  function drawRegionsMap() {
    var data = google.visualization.arrayToDataTable([
   ['Country'],
      ['Thailand' ],
      ['India'],
      ['Malaysia'],
      ['Sri Lanka'],
      ['Indonesia'],
      ['Vietnam'],
      ['Korea'],
      ['Taiwan'],
      ['China'],  
    ]);

    var options = {
      region: '142', // Asia
      colorAxis: {colors: ['#f5f5f5']},
      datalessRegionColor: '#f5f5f5',
      defaultColor: '#ff8040',
    };

    var chart = new google.visualization.GeoChart(document.getElementById('geochart-colors'));
    chart.draw(data, options);
  };
  </script>
  </head>
  <body>
  <div id="geochart-colors" style="width: 700px; height: 433px;">  </div>
  </body>
  </html>

解决方案


正如您在我的代码中看到的,您需要添加一个侦听器,即 google.visualization.events.addListener。然后,在该侦听器中,您可以获取所选国家/地区的名称。我通过 console.log() 函数打印,您可以用它做任何您想做的事情。

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

  function drawRegionsMap() {
    var data = google.visualization.arrayToDataTable([
   ['Country'],
      ['Thailand' ],
      ['India'],
      ['Malaysia'],
      ['Sri Lanka'],
      ['Indonesia'],
      ['Vietnam'],
      ['Korea'],
      ['Taiwan'],
      ['China'],  
    ]);

    var options = {
      region: '142', // Asia
      colorAxis: {colors: ['#f5f5f5']},
      datalessRegionColor: '#f5f5f5',
      defaultColor: '#ff8040',
    };

    var chart = new google.visualization.GeoChart(document.getElementById('geochart-colors'));
    chart.draw(data, options);

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

      
    }    
  });  };
<html>
  <head>
  <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js">
  </script>
 
  </head>
  <body>
  <div id="geochart-colors" style="width: 700px; height: 433px;">  </div>
   </body>
  </html>




所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.qianduanheidong.com/blog/article/534981/2c134e8bce2d348ef51e/

来源:前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

20 0
收藏该文
已收藏

评论内容:(最多支持255个字符)