0

我正在将使用 API 的 v2 和托管 KML 文件的 Google 地图转换为 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 的一些样式示例,但它们都基于表中的数值,而我没有。我该怎么做呢?

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

任何帮助,将不胜感激。

4

1 回答 1

0

您可以创建一个带有州名称 (name_1) 的表来为映射着色并将其与原始表(在 name_1 上)合并:

我从您的旧地图中取出颜色,并将它们合并到此表中(缺少一些):

带颜色的合并表

我用于“颜色”表的 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
于 2013-02-18T20:48:49.303 回答