当我使用gwt-visualization和GeoMap时,碰巧当我给维也纳一个值它工作正常,但如果我给一个值降低奥地利 - >维也纳不再在地图上显示。
下面是我用来创建geomap的代码:
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;
}
我认为发生这种情况的原因是因为奥地利环绕维也纳。有没有办法让这个工作?
答案 0 :(得分: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 codes来映射您所映射的国家/地区,以便更快地渲染。让我知道它是否有效!
答案 1 :(得分: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;
}