融合层未被绘制

时间:2016-12-30 14:00:36

标签: google-maps

我有一个包含3层图层的Google地图。

  • a)地区
  • b)州
  • c)县

放大地图时会出现这些内容。

以下是代码 - https://jsfiddle.net/djz43usz/

//county level
         if(zoom_level >= 7) {
          clearRegion();
          marker_point = country_center;
          id = c_id;
          area_type="COUNTY";
          mark_center(); 
           layer = new google.maps.FusionTablesLayer({
            query: {
              select: '\'geometry\'',
              from: '1fio1qgy5HkinUDKqYvREIlSoBaHjl2RBe3DLJa38'
            },
            styles: [{
              polygonOptions: {
                fillColor: '#000000',
                fillOpacity: 0.001
              }
            },{
                where: "'GEO_ID2' IN ("+draw_str.toString()+")",
                polygonOptions: {
                  fillOpacity: 0.3
                }
              }]

          });
          layer.setMap(map);

          }
        });

地区和州运作良好。但对于县而言,融合层并不起作用。无论如何我能解决它吗?

这就是现在的样子:

enter image description here

1 个答案:

答案 0 :(得分:0)

如果我查看javascript控制台,我会看到:Failed to load resource: the server responded with a status of 413 ()。问题是draw_str字符串太长(长度为17555个字符)。在这一行:

where: "'GEO_ID2' IN ("+draw_str.toString()+")",
polygonOptions: {
  fillOpacity: 0.3
}

您需要减小查询字符串的大小(以使网址最大值为2048)。

proof of concept fiddle(显示图层)