谷歌可视化地图选择事件不启动

Google Visualization Map select event not firing

本文关键字:启动 事件 选择 可视化 地图 谷歌      更新时间:2023-09-26

下面是绘制地图的代码:

options = {
            mapType: 'styledMap',
            zoomLevel: '2',
            showTip: true,
            useMapTypeControl: true,
            maps: {
                // Your custom mapTypeId holding custom map styles.
                styledMap: {
                    name: 'Styled Map', // This name will be displayed in the map type control.
                    styles: [
                      {
                          featureType: 'poi.attraction',
                          stylers: [{ color: '#fce8b2' }]
                      },
                      {
                          featureType: 'road.highway',
                          stylers: [{ hue: '#0277bd' }, { saturation: -50 }]
                      },
                      {
                          featureType: 'road.highway',
                          elementType: 'labels.icon',
                          stylers: [{ hue: '#000' }, { saturation: 100 }, { lightness: 50 }]
                      },
                      {
                          featureType: 'landscape',
                          stylers: [{ hue: '#259b24' }, { saturation: 10 }, { lightness: -22 }]
                      }
                    ]
                }
            }
        };
        var map = new google.visualization.Map(document.getElementById("div1"));
        map.draw(data, options);
// code for handler
google.visualization.events.addListener(map, 'select', LocationsClick);
    function LocationsClick() {
         //  Custom Code....
        }
    }

但是,当我单击映射中的指针时,不会引发事件,也不会调用我的函数。我在这里错过了什么?

在绘制映射之前,请尝试设置事件侦听器。

google.load('visualization', '1', { 'packages': ['map'] });
google.setOnLoadCallback(drawMap);
function drawMap() {
  var data = google.visualization.arrayToDataTable([
    ['Country', 'Population'],
    ['China', 'China: 1,363,800,000'],
    ['India', 'India: 1,242,620,000'],
    ['US', 'US: 317,842,000'],
    ['Indonesia', 'Indonesia: 247,424,598'],
    ['Brazil', 'Brazil: 201,032,714'],
    ['Pakistan', 'Pakistan: 186,134,000'],
    ['Nigeria', 'Nigeria: 173,615,000'],
    ['Bangladesh', 'Bangladesh: 152,518,015'],
    ['Russia', 'Russia: 146,019,512'],
    ['Japan', 'Japan: 127,120,000']
  ]);
  var options = {
    mapType: 'styledMap',
    zoomLevel: '2',
    showTip: true,
    useMapTypeControl: true,
    maps: {
      // Your custom mapTypeId holding custom map styles.
      styledMap: {
        name: 'Styled Map', // This name will be displayed in the map type control.
        styles: [
          {
            featureType: 'poi.attraction',
            stylers: [{ color: '#fce8b2' }]
          },
          {
            featureType: 'road.highway',
            stylers: [{ hue: '#0277bd' }, { saturation: -50 }]
          },
          {
            featureType: 'road.highway',
            elementType: 'labels.icon',
            stylers: [{ hue: '#000' }, { saturation: 100 }, { lightness: 50 }]
          },
          {
            featureType: 'landscape',
            stylers: [{ hue: '#259b24' }, { saturation: 10 }, { lightness: -22 }]
          }
        ]
      }
    }
  };
  var map = new google.visualization.Map(document.getElementById("div1"));
  google.visualization.events.addListener(map, 'select', selectHandler);
  
  map.draw(data, options);
  function selectHandler() {
    document.getElementById("div2").innerHTML = JSON.stringify(map.getSelection());
  }  
};
<script src="https://www.google.com/jsapi"></script>
<div id="div1"></div>
<br/>
<div id="div2"></div>