首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Heatmap map数组错误

Heatmap map数组错误
EN

Stack Overflow用户
提问于 2017-03-12 06:15:00
回答 1查看 810关注 0票数 0

我是google maps y JS的新手,我遇到了这个问题。

这是我的代码:

代码语言:javascript
复制
var map, heatmap, data, position;

function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    zoom: 13,
    center: {lat: 37.775, lng: -122.434},
    mapTypeId: google.maps.MapTypeId.SATELLITE
  });

  heatmap = new google.maps.visualization.HeatmapLayer({
    data: makeRequest('jsonmapasenal.php', function(data) {

         data = JSON.parse(data.responseText);
         data2 = [], range = data.length;
        for (i = 0; i < data.length; i++) {


             data2[i]= new google.maps.LatLng(parseFloat(data[i].lat), parseFloat(data[i].lon));  ---------Here is the problem
        }


    console.log(data2);
    return data2;
    }),
    map: map
  });
}

function toggleHeatmap() {
  heatmap.setMap(heatmap.getMap() ? null : map);
}

function changeGradient() {
  var gradient = [
    'rgba(0, 255, 255, 0)',
    'rgba(0, 255, 255, 1)',
    'rgba(0, 191, 255, 1)',
    'rgba(0, 127, 255, 1)',
    'rgba(0, 63, 255, 1)',
    'rgba(0, 0, 255, 1)',
    'rgba(0, 0, 223, 1)',
    'rgba(0, 0, 191, 1)',
    'rgba(0, 0, 159, 1)',
    'rgba(0, 0, 127, 1)',
    'rgba(63, 0, 91, 1)',
    'rgba(127, 0, 63, 1)',
    'rgba(191, 0, 31, 1)',
    'rgba(255, 0, 0, 1)'
  ]
  heatmap.set('gradient', heatmap.get('gradient') ? null : gradient);
}

function changeRadius() {
  heatmap.set('radius', heatmap.get('radius') ? null : 20);
}

function changeOpacity() {
  heatmap.set('opacity', heatmap.get('opacity') ? null : 0.2);
}

 function makeRequest(url, callback) {
    var request;

    if (window.XMLHttpRequest) {
        request = new XMLHttpRequest(); // IE7+, Firefox, Chrome, Opera, Safari

    } else {
        request = new ActiveXObject("Microsoft.XMLHTTP"); // IE6, IE5

    }
    request.onreadystatechange = function() {
        if (request.readyState == 4 && request.status == 200) {
            callback(request);

        }
    }
   request.open("GET", url, true);

    request.send();


}

在控制台中,结果是:

未捕获Gc {消息:"not an Array or MVCArray",名称:"InvalidValueError",堆栈:"Error↵at new Gc (https://maps.googleapis.com/m…_.K,_.K,_.K,_.K,_.K,_.K,_.K,_.K,_.K0:_.K1:_.K2:_.K3:_.K4:_.K5:_.K6:_.K7:_.K8:_.K9:_.K10:_.K11:_.K12:_.K13:_.K14:_.K15:_.K16:_.K17:_.K18::_.K24:_.K25:_.K26:_.K27:_.K28:_.K29:_.K30:_.K31:_.K32:_.K33:_.K34:_.K35:_.K36:_.K37:_.K38:_.K39:_.K40:_.K41:_.K42::_.K48:_.K49:_.K50:_.K51:_.K52:_.K53:_.K54:_.K55:_.K56:_.K57:_.K58:_.K59:_.K60:_.K61:_.K62:_.K63:_.K64:_.K65:_.K66::_.K72:_.K73:_.K74:_.K75:_.K76:_.K77:_.K78:_.K79:_.K80:_.K81:_.K82:_.K83:_.K84:_.K85:_.K86:_.K87:_.K88:_.Klength: 89__proto__:Array

如果我包括“像这样:

新建‘data2i= google.maps.LatLng(parseFloat('+ datai.lat +'),parseFloat('+ datai.lon +'))';

执行数组填充,但控制台仍然抛出错误:不是数组或MVCArray

请帮帮我!

EN

回答 1

Stack Overflow用户

发布于 2017-03-13 19:45:54

我不知道问题是什么,但当我开始测试Heatmap时,我也遇到了一些问题。在这里,我有一个简单的热图调用,这是我几周前发出的。看看我在我的HeatMap上做了什么。附言:下次试着对你的问题说得更具体些……

代码语言:javascript
复制
function myFunction {
  mapOptions = {
    center: new google.maps.LatLng(some_lat, some_long),
    zoom: 9,
    mapTypeId: google.maps.MapTypeId.HYBRID
  };
  map = new google.maps.Map(document.getElementById('googleMap'), mapOptions);

  var heatmap = new google.maps.visualization.HeatmapLayer({
    data: arrHeatmap // this array contains an x number of google.Maps.LatLng 
  });
  heatmap.setMap(map);
  console.log("Heatmap loaded successfully!");
 }

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42741300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档