Google geochart在错误的区域显示城市

时间:2014-04-16 14:27:20

标签: google-visualization

通过输入此代码,您可以看到我所说的内容:

function drawVisualization() {
  var data = google.visualization.arrayToDataTable([
    ['Country', 'Popularity'],
    ['Kansas City', 200],
  ]);
  var options = {width: 556, height: 347, displayMode : 'markers', region: 'ES'};
  var geochart = new google.visualization.GeoChart(
      document.getElementById('visualization'));
  geochart.draw(data, options);
}

进入google的游乐场:

https://code.google.com/apis/ajax/playground/?type=visualization#geo_chart

你可以看到堪萨斯城正在西班牙进行渲染,这是不正确的。 对于其他地区和城市的组合也会发生这种情况。 我在这里做错了吗?或者这是Geochart的错误?

编辑:我认为asgallant是对的。似乎Geochart正在寻找一条名为堪萨斯城的大道,现在的问题是:我怎么能告诉geochart我只是在寻找城市? 我想为您提供有关此问题的更多背景信息。我故意将区域设置为ES。我正在处理一个包含来自世界各地的数据的应用程序。有一个功能,我允许用户放大一个区域。在这种情况下西班牙。 我知道我可以在放大时移除堪萨斯城并在缩小时将其放回去,但我试图避免这种情况。 谢谢!

1 个答案:

答案 0 :(得分:0)

谢谢asgallant,你是对的。 这就是我使用此API解决此问题的原因: https://developers.google.com/maps/documentation/geocoding 基本上我在渲染之前对城市名称进行地理编码,并且我将坐标存储在我的数据库中。然后我只使用坐标绘制geochart。 通过这样做,我不仅解决了这个问题,而且还加快了图表的渲染速度。