4

我正在尝试使用 Google Maps API 生成位置热图。它可以工作,但结果不是很有用,因为热图渲染的部分很小,很难看到:

谷歌地图热图问题

文档中没有任何内容建议扩展热图以呈现更大的 blob 的方法。是否有一种未记录的方式来执行此操作,或者这只是 API 的限制?我只需要更多的数据点吗?我在下面粘贴了我正在使用的代码。

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
      html {
        height: 100%
      }

      body {
        height: 100%;
        margin: 0px;
        padding: 0px
      }

      #map {
        height: 100%
      }
    </style>

    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript">
      function initialize() {
        var myLatlng = new google.maps.LatLng(44.646959,-63.589697);
        var myOptions = {
          zoom : 14,
          center : myLatlng,
          mapTypeId : google.maps.MapTypeId.ROADMAP
        }

        var map = new google.maps.Map(document.getElementById('map'), myOptions);

        var layer = new google.maps.FusionTablesLayer({
          query: {
            select: 'geometry',
            from: '[ fusion table id removed ]'
          },
          heatmap: { enabled: true }
        });

        layer.setMap(map);
      }
    </script>
  </head>
  <body onload="initialize()">
    <div id="map"></div>
  </body>
</html>
4

3 回答 3

3

查看最大强度。我有一个类似的问题。maxIntensity 结合半径固定它。

maxIntensity:热图的最大强度。默认情况下,热图颜色会根据地图上任何特定像素点的最大集中度进行动态缩放。此属性允许您指定一个固定的最大值。当您的数据集包含一些具有异常高强度的异常值时,设置最大强度会很有帮助。

于 2013-01-09T22:26:22.420 回答
1

如果您使用 Google Maps Javascript API v3(与您当前使用的 Fusion Tables API 不同),您可以设置热图对象的“半径”属性,以完全按照您的要求进行操作。

不幸的是,使用 Fusion Tables API 无法做到这一点。文档甚至明确提到了这一点:

Fusion Table Layer:无法自定义热图的外观。

于 2012-07-19T02:20:02.930 回答
0

就在这里。

查看我正在使用的代码:

heatmap = new google.maps.visualization.HeatmapLayer({
    dissipating: true,
    map: map,
    radius: 50
});

半径以米为单位,所以我的斑点直径为 100 米。让我知道这是否对您有帮助。

于 2013-01-24T15:22:34.117 回答