Google文档电子表格到数组谷歌地图

时间:2015-03-19 17:33:07

标签: javascript arrays google-maps google-docs

我在WordPress网站上有一个网页,该网页根据存储在Google doc电子表格中的信息在地图上放置标记。这允许一些选择的编辑者在谷歌doc电子表格上插入封闭(带有信息页的地图标记)信息,页面将其映射到谷歌地图上。我非常接近它的工作,但我似乎无法让谷歌文档以我需要的形式吐出信息。

以下是我需要从Google文档中提取信息的代码:

for (var i = 0; i < json.feed.entry.length; i++) {
    var entry = json.feed.entry[i];

    var itm = entry["gsx$item"].$t;
    var lng = parseFloat(entry["gsx$longitude"].$t);
    var lat = parseFloat(entry["gsx$latitude"].$t);
    var info = entry["gsx$information"].$t;
    var status = entry["gsx$status"].$t;

    if (lat != "0" && lng != "0") {
    var closures = [itm, lng, lat, info];
    //closures1.push("[" + itm + "," + lat + "," + lng + "," + info + "]");
    //alert(closures1);
    }


}

你可以看到底部的部分是我正在努力的部分。我需要将电子表格中的信息以数组形式放入,但每个都有多个数组。我需要上面的信息看起来像下面的数组。

var closures = [    ['1', 32.980000, -97.250369, 'Single left lane closed on southbound William D. Tate Avenue from south of Mustang Drive to Stone Myers Pkwy. to move barrier wall. One right lane will remain open.'], ['2', 32.933500, -97.058800, 'Two right lanes closed on southbound SH 121 south of the Hall Johnson off-ramp to move barrier wall. One left lane will remain open.'], ];

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

如果您的json供稿条目有效,您的添加应该看起来像这样..

var closures = [];    //first create an empty array

for (var i = 0....
    var entry = "json.fee....
    ....
    ....
    if (lat != "0" && lng != "0") {
        var closure = [itm, lng, lat, info];  //then you create a local array to store the values 
        closures[closures.length] = closure;  //then you add this local array as one element of the global array.
    }
}

现场演示: http://jsfiddle.net/oukcyz0x/

答案 1 :(得分:0)

结帐GeoSheets。它是Google Spreadsheets的免费附加组件,可让您直接从电子表格制作地图。创建地图应该非常简单,只需将位置放在一列中,然后按照docs中的描述将关闭的详细信息放在标记列中。

=GEO_MAP(A1:B3, "closures")

该函数将返回指向地图的链接。从那里,您可以获得嵌入您网站的嵌入代码。当新的闭包添加到电子表格时,地图将实时同步。以下是使用您提供的数据的示例:

https://www.geosheets.com/map/s:3ybe7eAR/closures