绕过 500 行限制

2023-12-11

我编写了一个我很满意的 Google Fusion Tables 脚本(如下),但它只在我的表中加载 500 行点,该表有 20,000 多行。这是我第一次来到这个社区,我真的很惊讶地发现了极限。有什么方法可以加载所有行吗?

    <!doctype html>
    <html class="no-js" lang="en">
      <head>
        <meta charset="utf-8">
        <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
        <title>Points in box</title>

        <link href="./stylesheets/example.css" media="screen" rel="stylesheet" type="text/css" />


        <link rel="shortcut icon" href="/images/favicon.ico" />
        <noscript><meta http-equiv="refresh" content="0;url=/no_javascript.html"></noscript>

            <!-- Find box coordinates javascript -->
            <script type ="text/javascript" src="http://www.movable-type.co.uk/scripts/latlon.js"></script>

            <!-- Type label text javascript -->     
            <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
          <script type="text/javascript" src="./js/label.js"></script>

            <!-- Visulization javascript -->
            <script type="text/javascript" src="http://www.google.com/jsapi"></script>

            <!-- Initialize visualization -->
            <script type="text/javascript">
              google.load('visualization', '1', {});
            </script>

      </head>
      <body class="developers examples examples_downloads examples_downloads_points-in-box examples_downloads_points-in-box_index">

            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>

    <script type="text/javascript">

        var store_table = 4121905;

        //send a call to GViz to retrieve lat/long coordinates of the stores
        function getStoreData() {
          //set the query using the input from the user

            var queryText = encodeURIComponent("SELECT Latitude,Longitude,Impressions FROM " + store_table);
          var query = new google.visualization.Query('http://www.google.com/fusiontables/gvizdata?tq='  + queryText);

          //set the callback function
          query.send(doLoop);

        }

        function drawBox(topleftx, toplefty, bottomrightx, bottomrighty) {

          var bounds = new google.maps.LatLngBounds(
            new google.maps.LatLng( topleftx, toplefty ),
            new google.maps.LatLng( bottomrightx, bottomrighty )
          );

        var overlay = new google.maps.Rectangle({
          map: carto_map,
          bounds: bounds,
          strokeColor: "#0000ff",
          strokeOpacity: 0.20,
          strokeWeight: 2,
          fillColor: "#0000ff",
          fillOpacity: 0.050,
        });
        }

        function doLoop(response) {
            numRows = response.getDataTable().getNumberOfRows();

        //Basic
           var cartodbMapOptions = {
             zoom: 7,
                     center: new google.maps.LatLng( 37.926868, -121.68457 ),
             // center: new google.maps.LatLng( 40.7248057566452, -74.003 ),
             // disableDefaultUI: true,
             mapTypeId: google.maps.MapTypeId.ROADMAP
           }

            // Init the map
            carto_map = new google.maps.Map(document.getElementById("map"),cartodbMapOptions);

            for(i = 0; i < numRows; i++) {

                var centerX = response.getDataTable().getValue(i,0);
                var centerY = response.getDataTable().getValue(i,1);
                var imps = response.getDataTable().getValue(i,2);

                var centerPoint = new LatLon(centerX,centerY);
                var latLng = new google.maps.LatLng(centerX,centerY);

                var toplefty = centerPoint.destinationPoint(-45, 6)._lon;
                var topleftx = centerPoint.destinationPoint(-45, 7.7)._lat;

                var bottomrighty = centerPoint.destinationPoint(135, 6)._lon;       
                var bottomrightx = centerPoint.destinationPoint(135, 7.7)._lat;     

                drawBox(topleftx, toplefty, bottomrightx, bottomrighty);     

         var marker = new google.maps.Marker({
           position: latLng,
           draggable: false,
                 markertext: imps,
                 flat: true,
           map: carto_map
         });

           var label = new Label({
             map: carto_map,
                 position: latLng,
                 draggable: true
           });
           label.bindTo('text', marker, 'markertext');
             marker.setMap(null);

            }

        }

        $(function() {
                        getStoreData();
             });

          </script>

                <div id="map"></div>
      </body>
    </html>

我通过使用json调用方法解决了这个问题。代码如下。

        <!DOCTYPE html>
        <html>
          <head>
            <meta charset="UTF-8">
            <title>David's Build Up</title>

            <link href="./stylesheets/example.css" media="screen" rel="stylesheet" type="text/css" />


            <link rel="shortcut icon" href="/images/favicon.ico" />
            <noscript><meta http-equiv="refresh" content="0;url=/no_javascript.html"></noscript>

                <!-- Find box coordinates javascript -->
                <script
                src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
            </script>

                <script type ="text/javascript" src="http://www.movable-type.co.uk/scripts/latlon.js"></script>

                <!-- Type label text javascript -->     
                <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
              <script type="text/javascript" src="./js/label.js"></script>

                <!-- Visulization javascript -->
                <script type="text/javascript" src="http://www.google.com/jsapi"></script>

                <!-- Initialize visualization -->
                <script type="text/javascript">
                  google.load('visualization', '1', {});
                </script>


            <script type="text/javascript">

                    function drawBox(topleftx, toplefty, bottomrightx, bottomrighty) {

                      var bounds = new google.maps.LatLngBounds(
                        new google.maps.LatLng( topleftx, toplefty ),
                        new google.maps.LatLng( bottomrightx, bottomrighty )
                      );

                    var overlay = new google.maps.Rectangle({
                      map: carto_map,
                      bounds: bounds,
                      strokeColor: "#0000ff",
                      strokeOpacity: 0.20,
                      strokeWeight: 2,
                      fillColor: "#0000ff",
                      fillOpacity: 0.050,
                    });
                    }

              function initialize() {

                        // Set the map parameters
                        var cartodbMapOptions = {
                            zoom: 5 ,
                            center: new google.maps.LatLng( 40.313043, -97.822266 ),
                            mapTypeId: google.maps.MapTypeId.ROADMAP
                        }
                    // Initialize the map
                    carto_map = new google.maps.Map(document.getElementById("map"),cartodbMapOptions);

                        // Query to grab the data
                var query = "SELECT Latitude, Longitude, Impressions FROM " +
                    '[encrypted table ID here]';
                var encodedQuery = encodeURIComponent(query);

                // Construct the URL to grab the data
                var url = ['https://www.googleapis.com/fusiontables/v1/query'];
                url.push('?sql=' + encodedQuery);
                url.push('&key=AIzaSyAm9yWCV7JPCTHCJut8whOjARd7pwROFDQ');
                url.push('&callback=?');

                        // Set the number of rows
                        var numRows = 3500;

                // Get the variables from the table, in a loop
                $.ajax({
                  url: url.join(''),
                  dataType: 'jsonp',
                  success: function (data) {
                    var rows = data['rows'];
                    var ftData = document.getElementById('ft-data');
                    for (var i in rows) {
                      var centerX = rows[i][0];
                      var centerY = rows[i][1];
                                    var imps = rows[i][2];
                                    // Set the center points
                                    var centerPoint = new LatLon(centerX,centerY);
                                    var latLng = new google.maps.LatLng(centerX,centerY);
                                    // Set top left points
                                    var toplefty = centerPoint.destinationPoint(-45, 6)._lon;
                                    var topleftx = centerPoint.destinationPoint(-45, 7.7)._lat;
                                    // Set bottom right points
                                    var bottomrighty = centerPoint.destinationPoint(135, 6)._lon;       
                                    var bottomrightx = centerPoint.destinationPoint(135, 7.7)._lat;
                                    // Draw the box
                                    drawBox(topleftx, toplefty, bottomrightx, bottomrighty);
                                    // Drop markers
                                    var marker = new google.maps.Marker({
                               position: latLng,
                               draggable: false,
                                     markertext: imps,
                                     flat: true,
                               map: carto_map
                              });
                               var label = new Label({
                                 map: carto_map,
                                     position: latLng,
                                     draggable: true
                               });
                               label.bindTo('text', marker, 'markertext');
                                 marker.setMap(null);
                    };
                  }
                    });

              }
            </script>
          </head>

          <body onload="initialize()">
                <div id="map"></div>
                <div id="ft-data"></div>
          </body>
        </html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绕过 500 行限制 的相关文章

  • 样式图标标记 - 融合表

    这是为像我这样的其他新手提供的帮助 我花了很长时间才弄清楚如何在我的融合表项目中将不同的图标分配给不同类别的标记 我发现文档有限且令人困惑 我想如果我感到困惑 那么其他人可能也会如此 在其他人的帮助和大量测试的帮助下 我现在可以与您分享两种
  • 请求超过 Fusion Tables 层中的最大 URL 长度

    我在 Google 地图上使用 Fusion Tables 图层 如果我添加一个大的 where 条件 其中超过 1000 个项目 则该图层不会加载
  • Google Drive API 调用在 Fusiontables 上插入公共共享权限会导致内部错误

    我一直在尝试使用 Google Drive API 来使 Fusiontable 公开可读 但未能使其正常工作 我能够使用 OAuth 2 0 Playground 插入其他 Google Drive 文档的公共共享权限 但对于 Fusio
  • Google Fusion 地图信息窗口未格式化

    我创建了一个包含 2 层的 Google Fusion Map 除 1 个例外外 一切似乎都正常工作 我已经使用 Google Fusion Table 工具格式化了两个图层的信息窗口 但是 第 1 层上的信息窗口并未按照以下代码的指定显示
  • 获取 Google Apps 脚本来授权 Fusion Table API

    我正在构建一个数据库 希望将其托管在 Fusion Table 中 并且正在开发一些用于与 Fusion API 交互的测试函数 我正在使用 Google Apps 脚本 并且严重依赖此代码的其他来源 我花了一天的大部分时间研究这个问题 但
  • 绕过 500 行限制

    我编写了一个我很满意的 Google Fusion Tables 脚本 如下 但它只在我的表中加载 500 行点 该表有 20 000 多行 这是我第一次来到这个社区 我真的很惊讶地发现了极限 有什么方法可以加载所有行吗
  • 谷歌服务帐户示例返回“刷新 OAuth2 令牌时出错 {“error”:“invalid_grant”}”

    我的目标是进行最简单的查询Google Fusion Tables代表我的网络应用程序用户 为此 我创建了一个服务帐户在谷歌控制台上 这是代码 Creating a google client client new Google Clien
  • 添加数千个标记 Google Map API V3

    我目前正在组装一个演示应用程序 需要在地图上显示 28 000 个标记 而不使用任何类型的聚类 问题是 将标记添加到地图上花费的时间太长 以至于浏览器崩溃 这是当前的流程 从数据库中检索地图点 包括 LAT 和 LONG 无需进行地理编码
  • 使用 Fusion Table 时有哪些技术限制?

    我正在寻找有关使用 Fusion Tables 时的技术限制的信息 Fusion Table 中可以存储多少行 可以针对 Fusion Table 同时运行多少个查询 读 写 我找不到任何信息https developers google
  • 谷歌地图打开时的信息窗口事件

    您好 我正在使用谷歌融合表和谷歌地图 问题是我的标记显示正确 但我想在信息窗口中插入一些图像 所以问题是我进行查询来查找这些标记的位置 并且这些标记可以有许多类别 这就是为什么我无法使用合并表 当用户单击标记时 信息窗口将显示并显示标记上的
  • jqGrid 返回空白单元格

    似乎无法让以下 jqGrid 代码工作http cablegate politicswiki ie stackoverflow html http cablegate politicswiki ie stackoverflow html
  • 在 FusionTablesLayer 中应用查询后可以迭代标记吗?

    我目前有一个过滤器在渲染为地图图层的融合表上工作 并且我希望在过滤器更改时进行缩放以最适合所有数据 我想我需要等到应用查询 然后迭代标记以找到最小 最大 x 和 y 位置并平移到该矩形 但我在 Maps api 中没有看到访问标记的方法一层
  • Google 地图 - FusionTablesLayer 到多边形

    我正在使用 Google Maps API 和 jquery ui maps 这个问题与运行良好的插件无关 我已经为除莫桑比克之外的所有国家 地区创建了 FusionTablesLayer 用户可以放置标记并重新定位它 如果他尝试将标记放置
  • Fusion Table 和 Google 服务帐户

    我正在尝试使用 Google 服务帐户从我的 AppENGine Java 应用程序访问 Fusion 表 此代码片段用于获取 OAuth 访问令牌 ArrayList
  • 单击 FusionTablesLayer 多边形时的事件

    每次客户端点击多边形时 我都需要在我的 JavaScript 中知道 我还需要知道它对应于我的融合表中的哪一行 有这样做的活动吗 有这样做的活动吗 FusionTables鼠标事件 https developers google com m
  • 为什么图层被错误地重新加载?

    我遇到了那里描述的问题 如何正确重新加载融合表层 https stackoverflow com questions 9994764 how to correctly reload fusion tables layer 简要地 我有一个经
  • 在 PHP 中将 Oauth 2.0 访问令牌传递给 Fusion Tables API 时出现无效凭据错误

    我已经达到了沮丧的地步 正在寻求帮助 我整个周末都在学习新东西 以便尝试弄清楚如何使用需要通过 Oauth 2 0 进行身份验证的 goolge fusion table API 我开始使用 php 进行开发只是因为我能够找到一些帮助我走上
  • 融合表查询

    我有一个非常大的融合表 现在 我想根据用户需求进行查询 我的用户界面应该有一个下拉框来选择列的名称 另一个下拉框用于选择查询条件 gt user1225902 您需要在页面加载期间调用onLoad函数 我有同样的问题
  • 我可以让部分 Google Apps 脚本代码以我的身份执行,而其余部分以访问用户的身份执行吗?

    我有一个应用程序脚本 Web 应用程序 可以写入融合表 以及定期缓存的一些电子表格 我不想向同事提供对融合表的编辑访问权限 他们可以根据自己的需要编辑条目 目前 Web 应用程序以用户身份执行 适用于我组织内的任何人 这就是目的 但是 我希
  • 在地图外部的 div 中加载 Fusion Tables InfoWindow 数据

    我希望有人可以帮助解决一个可能相当简单的查询 我在这里看到了一个有关尝试在不单击鼠标的情况下执行此操作的问题 但我想向 Fusion Table 地图上的标记添加一个事件侦听器 该事件侦听器将在地图下方的单独 div 中加载 infoWin

随机推荐

  • 无法从 Android 授权 LinkedIn 应用程序

    我正在尝试授权 LinkedIn 应用程序将状态从我的 Android 应用程序发布到 linkedin 但是当我点击授权时 我的网络视图中没有出现任何内容 这是我的 OwnAuthLinkPage java public class Ow
  • 使用 C/Pthreads:共享变量是否需要是易失性的?

    在C编程语言和Pthreads作为线程库中 线程之间共享的变量 结构是否需要声明为易失性 假设它们可能受到锁的保护 也许没有障碍 pthread POSIX 标准对此有什么说法吗 这是否依赖于编译器 或者两者都不依赖 编辑添加 感谢您的精彩
  • JApplet 和 KeyListener

    我正在开发一个应用程序我的计算机科学课 任务是编写一个计算器 但不使用JTextFields or JTextAreas 我想出了一个实施的想法KeyListener which 在 appletviewer 和JFrame但在 Googl
  • Vista 中的 Eclipse/adb 错误消息“无法解析 adb 版本的输出”

    我想学习Android开发 所以我下载了Eclipse Galileo和Android SDK 但是 每当我启动 Eclipse 时 都会收到错误消息 无法解析 adb 版本的输出 在控制台 DDMS 窗格中 调试输出显示 2010 06
  • iPhone Objective-C:键盘有时不会通过 resignFirstResponder 隐藏

    我有一个 UITextView 当按下返回键时 我将其称为 resignFirstResponder 文本视图does辞职第一响应者 文本框中闪烁的光标消失 但键盘有时不会消失 什么可能导致这个问题 谢谢你 声明UITextViewDele
  • 双向链表上的快速排序

    我想在同步双向链表上实现快速排序算法 我给函数 分区 左右边界 然后它开始在左侧搜索较低的值 并将较大的值放在右侧 这是有效的 因为我的枢轴元素始终是最右边的元素 并且在这一步之后它位于中间 我总是陷入无限循环 我不知道为什么 也许中止条件
  • 使 QTableView 的行随着编辑器高度的增加而扩展

    这直接来自这个问题 这是一个 MRE class MainWindow QtWidgets QMainWindow def init self super init self setWindowTitle Get a grip of tab
  • Python 中“可哈希”是什么意思?

    Python 代码中的对象到底是什么意思hashable 来自Python术语表 如果一个对象有一个在其生命周期内永不改变的哈希值 它需要一个 hash 方法 并且可以与其他对象进行比较 它需要一个 eq or cmp 方法 比较相等的可哈
  • 在 React 中更新 forEach 循环中的状态无法正常工作

    我想在每次收到承诺时循环更新一个状态 但我的状态只展现了最后的承诺 我猜这是因为 由于设置状态是异步的 它使用先前状态更新之前可用的映射 在不使用 Promise all 的情况下如何实现这一目标 const dataList setDat
  • CouchDB 和 PouchDB 之间的过滤同步

    我目前正在考虑在我想编写的下一个应用程序中使用 CouchDB 2 和 PouchDB 7 基本上 我将在中央存储中拥有一个 CouchDB Web 客户端和移动应用程序将启动一个能够思考的 PouchDB 基本上这就像一个魅力 但是 如果
  • 为什么 python 像这样排序我的字典? [复制]

    这个问题在这里已经有答案了 这是我有的字典 propertyList id int name char 40 team int realOwner int x int y int description char 255 port bool
  • 浮点数的正则表达式?

    我正在尝试编写一个正则表达式来验证浮点数 这是我迄今为止所做的 1 9 d 0 2 d 1 1 如果满足以下条件 则该号码有效 要么是正的 要么是负的 最多 2 位数字 十位或百位 百位数字不能为0 只能是1 9 比例最大为 1 小数值可以
  • StackOverflowException 未处理

    我的代码中出现此错误 MedCareProviderLibrary dll 中发生 System StackOverflowException 类型的未处理异常 这是我的代码片段以及错误的来源 它在有错误的部分上显示一个黄色箭头 显示错误的
  • 在 Matlab 中查找 pcolor 中的轮廓/边缘

    我正在尝试制作一个遵循 像素 边缘的轮廓pcolor在 Matlab 中绘图 这可能在图片中得到最好的解释 这是我的数据图 黄色数据 data 1 和蓝色数据 data 0 之间有明显的界限 请注意 这是一个pcolor绘图 因此每个 正方
  • 从 for 循环到 Java 8 Stream 示例

    我想要一个 Java 8 的简单示例Streams去理解它 我有这个代码可以返回免费出租车 我想用使用 Java 8 流的等效代码替换这个 for 循环 private List
  • PHP 根据由括号分隔的字符串中的键名称创建多维关联数组

    我有一个字符串 括号中包含可变数量的键名称 例如 str key subkey otherkey 我需要创建一个多维数组 该数组具有字符串中表示的相同键 value只是一个在这里不重要的字符串值 arr key gt subkey gt o
  • 无法导入 anaconda 中安装的包

    I have a simple question I have install resampy using anaconda conda install c conda forge resampy 现在 当我将 resampy 导入到我的
  • 采用整数并返回所有可能的加法格式的算法

    我需要编写一个算法 它接受一个整数并返回所有可能的加法格式 e g 如果我输入 6 它将返回以下字符串 0 6 6 1 1 1 1 1 1 6 1 1 1 1 2 6 1 1 1 3 6 1 1 4 6 1 5 6 2 1 1 1 1 6
  • 如何获取目录的父目录

    如何获取目录的父目录 File parent new File System out println Parent directory parent getParent prints Parent directory null 我有一个 M
  • 绕过 500 行限制

    我编写了一个我很满意的 Google Fusion Tables 脚本 如下 但它只在我的表中加载 500 行点 该表有 20 000 多行 这是我第一次来到这个社区 我真的很惊讶地发现了极限 有什么方法可以加载所有行吗