从Fusion表中着色多边形而不使用数字

时间:2013-02-18 18:36:08

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

我正在将使用API​​的v2和托管的KML文件的Google Map转换为Fusion Tables和API的v3。

我正在寻找的最终结果(v2地图)在这里: http://www.willoughby-ind.com/findarep.aspx

我正在处理的v3地图在这里: http://www.willoughby-ind.com/Management/FindaRepGoogleMapsv3.aspx

我已经能够使用这段代码添加美国和加拿大的所有州界:

layerl0 = new google.maps.FusionTablesLayer(
        query: {
            select: "kml_4326",
            from: "420419",
            where: "name_0 IN ('United States of America','Canada')"
        },
        map: map,
        styleId: 8,
        templateId: 1
    });

它按照我的要求突出显示州和省,但我需要用不同的颜色(或至少4-5种颜色)遮蔽每个区域。我没有这个阴影的数字基础,只想将每个区域与周围的区域分开,而不是将整个地图着色为默认的红色。

我看过Buckets和Gradients的一些样式示例,但它们都是基于表中的数值,我没有。我该怎么做呢?

当点击一个区域时,我也需要产生一个回调事件,但我想这会很简单。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以使用状态名称(name_1)创建一个表格进行颜色映射,并将其与原始表格合并(在name_1上):

我从旧地图中取出颜色,然后将它们合并到此表中(有几个遗失了):

Merged table with colors

CSV我用于“颜色”表:

name_1, colour
Alaska, ff0000
Alabama, ff0000
Arkansas, ff0000
Arizona, ff0000
California, 880000
Colorado, 880000
Connecticut, 880000
Delaware, 880000
Florida, 8800ff
Georgia, 880000
Hawaii, 00ff00
Iowa, 00ff00
Idaho, 00ff00
Illinois, 00ffff
Indiana, 00ff00
Kansas, 008800
Kentucky, 008800
Louisiana, 008800
Massachusetts, 0000ff
Maryland, 0000ff
Maine, 0000ff
Michigan, FF0000
Minnesota, 0000ff
Missouri, 000088
Mississippi, 000088
Montana, 000088
North Carolina, ffff00
North Dakota, ffff00
Nebraska, ffff00
New Hampshire, 00ffff
New Jersey, ffff00
New Mexico, 00ffff
Nevada, 00ffff
New York, 00ffff
Ohio, ff8800
Oklahoma, ff00ff
Oregon, ff00ff
Pennsylvania, ff00ff
Rhode Island, ffff00
South Carolina, ff8800
South Dakota, ff8800
Tennessee, ff8800
Texas, 00ff88
Utah, 00ff88
Virginia, 00ff88
Vermont, 88ff00
Washington, 88ff00
Wisconsin, 0088ff
West Virginia, 0088ff
Wyoming, ff0088
Alberta, ff0000
Saskatchewan, 880000
Manitoba, 00ff00
Prince Edward Island, 0000ff
Nova Scotia, 000088
Newfoundland and Labrador,  ff00ff
Ontario, ff00ff
New Brunswick, ffff00
British Columbia, 00ff88
Quebec, 88ff00
Puerto Rico, 000000
Yukon, ff0088
Northwest Territories, ff8800