【问题标题】:Styling fusion table layers polygons样式融合表层多边形
【发布时间】:2013-03-28 04:11:09
【问题描述】:

我有一个包含 5 个人口(列)的融合表,对于每一个我想以不同的颜色显示人口集中度最高的多边形。

在样式融合表图层的示例中,定义了“polygonOptions”,但我不希望多边形具有任何样式,除非其中一个人口集中,而且因为这会带走 1 种样式从 5 开始。

我不确定要更改什么或缺少什么才能正确显示这些样式。

我的地图:http://seflculturemap.com/miami-test.html

【问题讨论】:

    标签: css google-fusion-tables layer


    【解决方案1】:

    您遇到的第一个问题是列名,当它们包含空格时,您必须在查询中将它们用单引号括起来。

    另一个问题(您需要应用 6 种样式,但限制为 5 种)。您也可以直接为地图创建样式,因此您可以创建一个将所有多边形的不透明度设置为 0 的虚拟样式。

    要应用此样式,请使用样式的 ID,并将其与选项参数一起传递给图层。我为您的地图创建了这样一个虚拟样式,它的 ID 为 4

    图层创建现在应该如下所示: var layer1 = new google.maps.FusionTablesLayer({

      query: {
        select: 'geometry',
        from:   '1PM3_L795Eus1HXCylF6UM0tLqXarnkNZeB_LmM8'
    
      },
      options: {
            styleId: 4
          },
      styles: [
         {
            where: "'Puerto Rican Population' > 500",
        polygonOptions: {
         fillColor: "#46A2D1", //blue
         fillOpacity: 0.7}  
         },
       {
            where: "'Cuban Population' > 500",
        polygonOptions: {
         fillColor: "#F29400", //orange
         fillOpacity: 0.7 }   
         }, 
         {
            where: "'Bahaman Population' > 100",
        polygonOptions: {
         fillColor: "#BAC200", //yellow
         fillOpacity: 0.7}  
         },  
         {
            where: "'Dominican Population' >200",
        polygonOptions: {
         fillColor: "#E068A0", //pink
         fillOpacity: 0.7 }   
         },
         {
            where: "'Haitian Population' > 500",
        polygonOptions: {
         fillColor: "#66A919", //green
         fillOpactity: 0.7}
       }
        ]
    });
    

    测试:http://jsfiddle.net/doktormolle/8mZuB/


    与 cmets 相关:

    您使用了错误的列名。

    对于http://www.seflculturemap.com/maps/central-american-populations.html:

    'Nicaraguan' -> 'Nicaraguan Population'
    

    对于http://www.seflculturemap.com/maps/south-american-populations.html:

    'Venezuelan Population'  ->'Venzuelan Population
    'Peruvian'               ->'Peruvian Population'
    'Argentinian Population' ->'Argentinean Population'
    

    【讨论】:

    • 感谢您的帮助,我不敢相信我忘记了报价。 ID 4 来自哪里?它是融合表中的默认值吗?我还在谷歌开发人员中使用另一个教程添加了一个图例,但与他们的示例不同,图例框被推到地图的底部,我再次认为这是 css 样式的冲突(我将它们放置在哪里,或者可能是它们是否相互覆盖?)这就是地图现在的位置link
    • 我创建了一个新的地图视图(地图 2),在应用了多边形的样式后,我去 publish->get html 和 javascript 看看哪个样式的 ID。
    • 我使用相同的 html 作为模板来显示 2 个其他地图,即使在仔细检查地图 id 以及列名是否正确之后,我也会看到“数据仍在加载”框对于这两个。 seflculturemap.com/maps/central-american-populations.html seflculturemap.com/maps/south-american-populations.html 我不知道有什么问题:( @dr.molle
    • 您应该已经检查了列名 3 次,请参阅我编辑的答案。
    猜你喜欢
    • 1970-01-01
    • 2012-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    相关资源
    最近更新 更多