0

现在,下面的代码给了我红色标记,我想在其中应用带有多边形的 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);
4

1 回答 1

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);
}

带有“蓝色”标记的示例

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

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

于 2013-06-05T19:23:14.050 回答