【问题标题】:Using HeatmapLayer with data from FusionTablesLayer (Google Maps API)将 HeatmapLayer 与来自 FusionTablesLayer (Google Maps API) 的数据一起使用
【发布时间】:2014-09-15 19:25:01
【问题描述】:

如何使用 Google Maps API 显示来自 Fusion Table(Layer)的数据的热图?

使用 FusionTablesLayer,我可以选择并显示数据(作为标记)。

layer = new google.maps.FusionTablesLayer({
    query: {
        select: '\'Geocodable address\'',
        where: 'City=\''+city+'\' AND Category = \'companies\'',
        from: 'sdfgfdgfsdfewrrtre34534543egffg'
    },
    heatmap: {
        enabled: true
    },
    templateId: 0,
    styleId: 1
});

但是,我无法将数据显示为热图。我尝试添加“maxIntensity”和“radius”作为参数,但这不起作用。我在这篇文章中得到了一张类似this one 的地图。

现在,我正在寻找 HeatmapLayer,但不知道如何像使用 FusionTablesLayer 那样检索数据。不知何故,“查询”参数在 HeatmapLayer 中不起作用。

因此我的问题是:如何使用 Google Maps API 显示来自 Fusion Table 的数据的热图?

【问题讨论】:

  • 位置列(示例代码中的Geocodable address),您是否在其中存储了 LatLng 或已在内部进行地理编码的地址?
  • 我的地址已由 Google FushionTables 在内部进行地理编码。但是,我可以在地图上用标记显示所有地址。但我无法通过 Google Maps API 创建热图。

标签: google-maps-api-3 google-fusion-tables heatmap


【解决方案1】:

抱歉,您无能为力。

通过 FusionTablesLayer 创建的热图没有任何可配置选项。

为了能够将 HeatMapLayer 与来自 FusionTable 的数据一起使用,您必须下载这些数据,并且数据必须包含位置(LatLng,而不是地址)。

如果您没有将这些 LatLng 单独存储在无法获取它们的列中,则无法通过下载访问通过地理编码在内部创建的 LatLng。

【讨论】:

  • 使用 FusionTablesLayer 图层对象怎么样?执行完查询后不能获取数据吗?因此在我的示例中:layer.getData() 或其他方式的数组?
  • 不,您不能以任何方式通过下载访问这些数据(无论哪个 API/服务)
  • 奇怪。因此有一个热图选项(启用:true)但没有可见的热图。
  • 热图可见:我得到一张类似this one in this post的地图 ....有一张热图。
  • 是的,但是在我的 fusiontable 中可见的那个要好得多。知道如何创建一个 latlng 列吗?如果这是唯一的选择......
猜你喜欢
  • 1970-01-01
  • 2016-11-06
  • 1970-01-01
  • 2017-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-13
相关资源
最近更新 更多