【问题标题】:Different output map from fusion tables and own map using Google MAP来自融合表的不同输出地图和使用 Google MAP 的自己的地图
【发布时间】:2014-08-29 18:10:21
【问题描述】:

我在 1 列/行中有 48 个坐标/标记。

当我双击该行并打开预览 KML 链接时,它显示 48 个坐标。

但是当我创建自己的地图并使用融合表和 SQL 查询显示该标记时, 该地图仅显示 3 个标记。

为什么 Fusion 表格中的输出与我自己的地图中的输出不同?

或者,在使用 Google Fusion 和 Map API 时是否有任何技术限制

谢谢大家

------------------编辑-------

在 rowid 17001 的坐标列 [Koordinat Pohon] 实际上它有 48 个坐标,但在我自己的地图中只显示 3 个坐标。

表 ID:1O5aIPnHBCimWsYg0gOXIeRH6eL-6byD95Nd2pdXR

行 ID:17001

<!DOCTYPE html>
<?php

    $id=$_GET['id'];

?>
<input type="hidden" value="<?php echo $id;?>" id="rowid"/>
<html>
    <head>
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
        <meta charset="utf-8">
        <title>Fusion Tables queries</title>
        <style>
            html, body, #map-canvas {
            height: 100%;
            margin: 0px;
            padding: 0px
            }
        </style>
        <script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
        <script>
            var rowid=document.getElementById("rowid").value;
            var map;

            function initialize() {
                var centerMAP = new google.maps.LatLng(-7.402438, 110.446957);

                map = new google.maps.Map(document.getElementById('map-canvas'), {
                    center: centerMAP,
                    zoom: 16,
                    mapTypeId: google.maps.MapTypeId.SATELLITE
                });

                var layer = new google.maps.FusionTablesLayer({
                    query: {
                        select:"Koordinat Pohon",
                        from: "1O5aIPnHBCimWsYg0gOXIeRH6eL-6byD95Nd2pdXR",
                        where: "rowid = "+rowid
                    }
                });
                layer.setMap(map);
            }

            google.maps.event.addDomListener(window, 'load', initialize);

        </script>
    </head>
    <body>
        <div id="map-canvas"></div>
    </body>
</html>
<?php

?>

【问题讨论】:

  • 您的查询会很有趣,您如何处理返回的数据?
  • 如果您执行“发布:获取 HTML 和 Javascript”,然后在浏览器中打开它,它“工作”吗?
  • @Dr.Molle 我只是使用来自developers.google.com/fusiontables/docs/samples/… 的简单示例并自定义查询 [where: "ROWID = "+rowid] 因为坐标仅在一行和一列中。它有效,但没有显示所有标记
  • @geocodezip 我尝试从谷歌融合标签查看地图,但它仍然没有显示我想要的所有标记。如果我单击位置行并单击“预览 KML”链接,如何制作预览 KML
  • 如果您在 FusionTables UI 中看不到标记,那将是一个问题。您能否提供 Fusion Table 的 ID(或您创建的展示该问题的示例)?你能提供你正在使用的代码吗? Minimal, Complete, Tested and Readable example 会很有用。

标签: google-maps-markers google-fusion-tables


【解决方案1】:

当我使用您的代码时,我没有看到 3(如前所述)或 48(如预期)标记,我看到 10 个标记。

原因可能在 https://developers.google.com/maps/documentation/javascript/fusiontableslayer#limits

查看地图时,您可能会注意到:显示了多几何图形中面积最大的十个组件。

KML 是一个多几何图形,将显示的要素数量限制为 10 个

你可以做什么:

  • 在一列中仅存储单个点
  • 省略 FusionTablesLayer,而是通过 AJAX 请求几何图形并自行创建标记

【讨论】:

  • 谢谢,@Dr.Molle 我已经通过自定义修复了它。从一行中提取多几何图形并按坐标显示。不是来自查询 SELECT。谢谢大家:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-15
  • 1970-01-01
  • 1970-01-01
  • 2016-03-14
  • 1970-01-01
相关资源
最近更新 更多