用于Fusion Tables(Google Maps)的iconStyler不会提取列数据

时间:2014-03-08 02:00:56

标签: javascript google-maps google-maps-api-3 google-fusion-tables

我正在使用Google Maps API构建地图,并遇到了障碍。在表格中,我有一个标记每个标记的iconName的列('mStyle',它是col3)。在下面的代码中,我尝试根据列值设置图标样式,并且我尝试了许多不同的迭代但没有工作。包括这一个。

令我困惑的是,用iconName替换iconStyler:{}:'grn_blank'(或其他)确实有效。 markerOptions的文档位于:https://developers.google.com/fusiontables/docs/v1/reference/style

        var layer = new google.maps.FusionTablesLayer();
    layer.setOptions
    (
    {
      query: 
      {
        select: "col0",
        from: "1UtgWf_kgwI3iUtrWvH3vIbxJfBdutl9oR8Wjqhiv",
        where: ""
      },
      styles: 
      [{
       markerOptions:
       { 
        iconStyler:
        {
          kind: 'fromColumn',
          columnName: 'mStyle',
        }               
       }
      }]
    }
    );

可以在此处访问代码:https://drive.google.com/file/d/0BxeBEc_dsbUqWVJwbV9JTXRvb2s/edit?usp=sharing

地图的外观应该是DC区域的800个标志,有各种颜色(红色,紫色,蓝色,绿色,浅蓝色和白色)。他们代表学校。我可以在基于浏览器的编辑器中使用它,但是一旦我将这个片段用于工作,我就会添加动态,所以我需要它在Javascript中工作。

由于

1 个答案:

答案 0 :(得分:1)

单击Fusion表UI中的地图选项卡,选择“发布”,“获取HTML和Javascript”。 在该代码中抓住图层定义:

    layer = new google.maps.FusionTablesLayer({
      map: map,
      heatmap: { enabled: false },
      query: {
        select: "col0",
        from: "1UtgWf_kgwI3iUtrWvH3vIbxJfBdutl9oR8Wjqhiv",
        where: ""
      },
      options: {
        styleId: 2,
        templateId: 2
      }
    });

你想在那里定义styleId和templateId(对我来说看起来像2和2)。