【问题标题】:Google geochart displaying city in the wrong region谷歌地理图表在错误的地区显示城市
【发布时间】:2014-04-16 14:27:19
【问题描述】:

您可以通过输入以下代码来了解我在说什么:

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);
}

在这里进入谷歌的游乐场:

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

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

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

【问题讨论】:

  • 您将区域设置为 ES,即西班牙 en.wikipedia.org/wiki/ISO_3166-2:ES 阅读文档。
  • GeoCharts 尝试对您在指定区域的列中传递的字符串进行地理编码。 “堪萨斯城,ES”地理编码为“Av. de Kansas City, Seville, ES”。

标签: google-visualization


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-10-29
    • 2015-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多