Javascript 检索融合表数据时出现问题-谷歌地图API
我正在开发一个JSP应用程序,它检索许多多边形以显示在地图上 在告诉我的问题之前,我将尝试解释应用程序是如何工作的 我的客户需要在谷歌地图上查看他的内部区域划分(一个区域是一组城市,是一个多对多的关联)。通过应用程序菜单加载文件,可以随时更改territory city关系。今天,我们有35个地区和大约10000个协会在这个系统中的地区城市 我在融合表中有城市形状的多边形,但当我尝试检索形状时,我得到以下错误: 为一个区域加载多边形的代码:Javascript 检索融合表数据时出现问题-谷歌地图API,javascript,google-maps-api-3,kml,google-fusion-tables,Javascript,Google Maps Api 3,Kml,Google Fusion Tables,我正在开发一个JSP应用程序,它检索许多多边形以显示在地图上 在告诉我的问题之前,我将尝试解释应用程序是如何工作的 我的客户需要在谷歌地图上查看他的内部区域划分(一个区域是一组城市,是一个多对多的关联)。通过应用程序菜单加载文件,可以随时更改territory city关系。今天,我们有35个地区和大约10000个协会在这个系统中的地区城市 我在融合表中有城市形状的多边形,但当我尝试检索形状时,我得到以下错误: 为一个区域加载多边形的代码: layer = new google.maps.Fus
layer = new google.maps.FusionTablesLayer({
query:{
select: 'geometry',
from: {MYKEY},
where: "NAME_CITY IN ("+listOfCities+")"
}
});
错误:
layer = new google.maps.FusionTablesLayer({
query:{
select: 'geometry',
from: {MYKEY},
where: "NAME_CITY IN ("+listOfCities+")"
}
});
加载资源失败:服务器响应状态为414(请求URI太大)
我一直在寻找加载这些地区的方法,我已经尝试从Java读取KML文件,并发送每个城市的坐标集,但HTML页面完成后就像300MB,它只是冻结了浏览器,无法工作。因此,融合表似乎是最好的方法
我发现了一些帖子,人们告诉我使用POST方法来请求数据,因为listOfCities变量的大小(一些地区有大约500个相关城市),但他们从未说过如何使用Google Maps API来实现
我该怎么做?有人有别的办法解决这个问题吗
谢谢您必须以某种方式简化查询。POST不是选项,无法更改用于查询的方法 但这可能是一个起点: 通过应用程序菜单加载文件,可以随时更改territory city关系 您可以向表中添加另一列来存储“关系”,而不是筛选服务器上的城市并查询城市,正如geocodezip所建议的那样 上传“文件”时,这可能会自动完成(这里您可以使用POST)
新的where子句现在将变得简单而简短,例如:
territory=35
您能添加一个包含“territory”代码的列,然后在该列中查询具有相应代码的记录吗?谢谢您的回答,Molle博士,但这种关系是多对多的,有些城市与多个区域关联,在这种情况下,您知道如何将其存储在融合表中吗?融合表支持这样的功能,您可以存储由分隔符分隔的区域列表。另一个选择是为每个TerritoryTanks创建列。为了帮助Molle博士,我将实施这种方法。它不起作用:(当我开始更新城市表中的Territions列的过程时,我需要清理它,因此我尝试将每个城市的值设置为空……但是Fusion表有任何限制,当我到达ROWID#32时,它会显示此异常:线程“main”中的异常)com.google.gdata.util.InvalidEntryException:请求配额已超出,我可以执行的查询似乎有限制。我试图通过在每次更新结束时添加500毫秒的延迟来更改代码,但我只得到了ROWID#48。限制为每秒5次查询。您需要更新多少行?