1

当我使用 gwt-visualization 和 GeoMap 时,碰巧当我给 Vienna 赋值时它工作正常,但是如果我给 lower austria 赋值 -> Vienna 不再显示在地图上。

地图图片

这是我用来创建地理地图的代码:

private Options createOptions() {
        Options options = Options.create();
        options.setDataMode(DataMode.REGIONS);
        options.setWidth(1000);
        options.setHeight(650);
        options.setRegion("AT");
        return options;
    }

    private AbstractDataTable createTable2() {
        DataTable data = DataTable.create();
        data.addColumn(ColumnType.STRING, "Bundesland");
        data.addColumn(ColumnType.NUMBER, "Sessions");

        data.addRows(9);

        data.setValue(0, 0, "Niederösterreich");
        data.setValue(0, 1, 200);

        data.setValue(1, 0, "Salzburg");
        data.setValue(1, 1,56);

        data.setValue(2, 0, "Tirol");
        data.setValue(2, 1, 11);

        data.setValue(3, 0, "Oberösterreich");
        data.setValue(3, 1, 11);


        data.setValue(4, 0, "Burgenland");
        data.setValue(4, 1, 55);


        data.setValue(5, 0, "Vorarlberg");
        data.setValue(5, 1, 567);

        data.setValue(6, 0, "Kärnten");
        data.setValue(6, 1, 11);

        data.setValue(7, 0, "Steiermark");
        data.setValue(7, 1, 99);

        data.setValue(8, 0, "Wien");
        data.setValue(8, 1, 1);

        return data;
    }

我认为发生这种情况的原因是因为较低的奥地利环绕着维也纳。有没有办法让这个工作?

4

2 回答 2

1

看起来 GeoMaps 的地图中不包含 AT-9。幸运的是,GeoCharts(GeoMaps 的非 Flash 较新版本)可以。

我不使用 GWT,所以我无法告诉您如何将其转换为 GWT(抱歉,也许其他人可以添加正确的语法)。这是代码:

function drawVisualization() {
  var data = google.visualization.arrayToDataTable([
    ['Bundesland', 'Sessions'],
    ['AT-3', 200],
    ['AT-5', 56],
    ['AT-7', 11],
    ['AT-4', 11],
    ['AT-1', 55],
    ['AT-8', 567],
    ['AT-2', 11],
    ['AT-6', 99],
    ['AT-9', 1]
  ]);

  var geochart = new google.visualization.GeoChart(
      document.getElementById('visualization'));
  geochart.draw(data, {region: 'AT', resolution: 'provinces', width: 556, height: 347});
}

一般来说,我建议对您映射的任何国家/地区使用ISO-3166 代码,以使其渲染速度更快。让我知道它是否有效!

于 2013-03-17T23:56:37.417 回答
0

createOptions() 应该返回一个对象类 GeoMap.Options。这可能是问题所在。

private GeoMap.Options createOptions() {
        GeoMap.Options options = GeoMap.Options.create();
        options.setDataMode(DataMode.REGIONS);
        options.setWidth(1000);
        options.setHeight(650);
        options.setRegion("AT");
        return options;
    }
于 2013-07-03T17:59:13.870 回答