这是为像我这样的其他新手提供的帮助。
我花了很长时间才弄清楚如何在我的融合表项目中将不同的图标分配给不同类别的标记。我发现文档有限且令人困惑,我想如果我感到困惑,那么其他人可能也会如此。
在其他人的帮助和大量测试的帮助下,我现在可以与您分享两种实现此目的的方法。
首先请注意,可用于融合表的图标非常有限,您可以在此处看到一组图标:http://www.google.com/fusiontables/DataSource?dsrcid=308519
放大漂浮在海洋上的图标,然后单击您喜欢的图标以了解它们的名字。
1. 从融合台内部进行造型:
创建一个名称如“Styles”的列。确保将其类型设置为文本。
在该列中,添加要用于不同类别的图标的名称。
名称示例:star、target 和“red_blank”。
当您处于地图视图中时,单击“配置样式”按钮。在点/标记图标下,选择列。单击“使用列中指定的图标”,然后从下拉列表中选择您设置的列名称,例如。 “风格”。
查看地图,您应该会看到显示的各种图标。
2. 在 JavaScript 中设置样式:
将样式部分添加到您的代码中。这是一个示例(在本例中,样式类别是用数字编码的):
layer_2 = new google.maps.FusionTablesLayer({
suppressInfoWindows:true,
query: {
select: 'Location',
from: 'tableid' //add the id number of your table here, inside the quotes
},
styles: [
{where: "'style' = 14", markerOptions:{ iconName:"star"}}, // other landmarks
{where: "'style' = 13", markerOptions:{ iconName:"wht_pushpin"}}, //businesses
{where: "'style' = 11", markerOptions:{iconName:"red_blank"}}, //town houses
{where: "'style' = 12", markerOptions:{ iconName:"orange_blank"}}, //country homes
{where: "'style' = 15", markerOptions:{ iconName:"target"}},
]});
两种方法都效果很好。在使用过两者之后,我现在认为我更喜欢在融合表中执行此操作,只是因为我发现我可以保留 javascript 越简单,事情对我来说就越好。
然而,通过 JS 控制它可以更轻松地动态更改图标,因为您只需要更改一行代码,而不是通过表格的每一行更改 Style 列中的图标名称。
我希望这是有帮助的。
Wendy