2016-12-30 57 views
-1

我有一個帶有3層的Google Map。融合層沒有被繪製

  • 一)地區
  • b)國家
  • 三)縣

當你在地圖上放大他們出現。

這裏是代碼 - 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

回答

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 
} 

您需要減小該查詢字符串的大小(以使URL最大值爲2048)。

proof of concept fiddle(帶層表示)

+0

我有動態視圖,即在第1頁,它可以在具有50個地理代碼來draw_str,而另一頁上也可以是1500,所以我不能真的縮小尺寸。有沒有辦法克服這個限制和/或在頁面上過濾它的方式? – dang

+0

相同的答案我給你最後一次問這個問題:[谷歌地圖融合表層不工作](http://stackoverflow.com/questions/40238551/google-maps-fusion-table-layer-not-working) – geocodezip