-1

我一直在研究这篇文章这个 jsfiddle。我试图在将新数据填充到地图图层之前清除地图图层,但看起来叠加层只是将一个叠加在一起而没有被清除。

这是我目前存在的代码:

// For the heatmap layer
  var heatmapData = [];
  var heatmap;

  // Instantiate counter
  var files = 0;

  // Looping and loading files with timeout
  (function myLoop (i) {          
    setTimeout(function () {   
      var xhr = new XMLHttpRequest();
      xhr.open('GET', ('js/tweets'+ files + '.json'), true);
      xhr.onload = function() {
        loadTweets(this.responseText);
      };
      xhr.send();

      // Clear out map styles
      heatmap.setMap(null);           
      if (--i) myLoop(i);
      // Stall for 3 seconds
    }, 3000)
  })(100);  

  // Parse out the JSON and create markers
  function loadTweets(results) {

    // Parse out our JSON file
    var tweetStructure = $.parseJSON(results);

    // Go gets it
    for (a in tweetStructure){
      var co_arr = tweetStructure[a];
      for (coords in co_arr.coordinates){
        var d = co_arr.coordinates;

        // Stating our lat/longs 
        var first = d[0];
        var second = d[1];
        var magnitude = d[2];

        // Setting them
        var latLng = new google.maps.LatLng(first, second);

        // Weighted location to express polarity
        var weightedLoc = {
          location: latLng,
          weight: Math.pow(2, magnitude)
        };
        heatmapData.push(weightedLoc);
      }
    }

    // Instantiate heat map
    heatmap = new google.maps.visualization.HeatmapLayer({
      data: heatmapData,
      dissipating: false,
      map: map
    });
  }

我从四个静态 JSON 文件中获取数据。

4

1 回答 1

0

在声明时使用第二个for in循环,var d =您似乎并没有迭代 all [coords]。因此,我猜想d[0]将包含来自co_arr.coordinates. 这可能是问题的一部分吗?

于 2013-11-09T15:40:10.893 回答