Google Fusion Table,似乎无法将标记转换为多边形

时间:2013-06-05 18:56:43

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

现在,下面的代码给了我红色标记,我想在其中应用Fusion Table样式和多边形。以下链接是我想要的最佳解决方案 https://developers.google.com/maps/documentation/javascript/examples/layer-fusiontables-styling

通过geocodezip的帮助,我可以通过查询数字的标记颜色(CNASD)获得一个很好的选择。但现在,所有标记现在都默认为绿色,代码如下。我确定CNASD是该表的一部分,但为什么它不可用我不知道。

    <script type="text/javascript">

var map, layer;

function initialize() {

  var usa = new google.maps.LatLng(40.4230, -98.7372);

  map = new google.maps.Map(document.getElementById('map-canvas'), {
    center: usa,
    zoom: 4,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  });

  layer = new google.maps.FusionTablesLayer({
    query: {
        select: '"FULL ADDRESS',
      from: '1wwaFO4DnqwX_8YQQwn2U2v6ZQ1ygcololTkFUr4'
    },
    styles: [{
        markerOptions: {
       iconName: 'small_red'
      }
    }, {
      where: 'CNASD == 6',
        markerOptions: {
        iconName: 'small_green'
      }
    }]
  });
  layer.setMap(map);
}

google.maps.event.addDomListener(window, 'load', initialize);

1 个答案:

答案 0 :(得分:0)

您的查询对您的表无效。您的表格不包含任何多边形。要设置标记的样式,请使用markerOptions:

function initialize() {

  var usa = new google.maps.LatLng(40.4230, -98.7372);

  map = new google.maps.Map(document.getElementById('map-canvas'), {
    center: usa,
    zoom: 4,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  });

  layer = new google.maps.FusionTablesLayer({
    query: {
        select: '"FULL ADDRESS',
      from: '1wwaFO4DnqwX_8YQQwn2U2v6ZQ1ygcololTkFUr4'
    },
    styles: [{
      markerOptions: {
        iconName: 'small_blue'
      }
    }]
  });
  layer.setMap(map);
}

example with "blue" markers

看起来您的所有行都包含邮政编码。如果你真的想要多边形,你可以合并一个包含ZCTA多边形的表,如下所示:

https://www.google.com/fusiontables/data?docid=1fzwSGnxD0xzJaiYXYX66zuYvG0c5wcEUi5ZI0Q#