Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检索融合表数据时出现问题-谷歌地图API_Javascript_Google Maps Api 3_Kml_Google Fusion Tables - Fatal编程技术网

Javascript 检索融合表数据时出现问题-谷歌地图API

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

我正在开发一个JSP应用程序,它检索许多多边形以显示在地图上

在告诉我的问题之前,我将尝试解释应用程序是如何工作的

我的客户需要在谷歌地图上查看他的内部区域划分(一个区域是一组城市,是一个多对多的关联)。通过应用程序菜单加载文件,可以随时更改territory city关系。今天,我们有35个地区和大约10000个协会在这个系统中的地区城市

我在融合表中有城市形状的多边形,但当我尝试检索形状时,我得到以下错误:

为一个区域加载多边形的代码:

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次查询。您需要更新多少行?