Javascript 使用Google Maps API显示JSON文件中的多边形

Javascript 使用Google Maps API显示JSON文件中的多边形,javascript,jquery,json,google-maps,google-maps-api-3,Javascript,Jquery,Json,Google Maps,Google Maps Api 3,我能够将JSON文件加载到页面中(当前使用jQuery),并将内容设置为页面中的变量 JSON包括对建筑轮廓的引用,如下所示: [ { "buildingNumber":"7", "buildingDescription":"Building Seven", "spatial":{ "points": [ "-1.2345678,50.98765

我能够将JSON文件加载到页面中(当前使用jQuery),并将内容设置为页面中的变量

JSON包括对建筑轮廓的引用,如下所示:

[
    {
        "buildingNumber":"7",
        "buildingDescription":"Building Seven",
        "spatial":{
            "points":
                [
                    "-1.2345678,50.9876543",
                    "-1.2345677,50.9876544",
                    "-1.2345676,50.9876545",
                    "-1.2345675,50.9876546"
                ]
        }
    }
]
使用jQuery的
$。每个
,我可以加载变量并遍历建筑,此外,对于每个建筑,我可以非常简单地遍历点

问题在于谷歌似乎只记录了以下描述多边形的方法

var triangleCoords = [
    new google.maps.LatLng(25.774252, -80.190262),
    new google.maps.LatLng(18.466465, -66.118292),
    new google.maps.LatLng(32.321384, -64.75737)
];
这是有道理的,但我看不出如何从我目前拥有的数组中获取这种格式。我真的很感激任何关于从一个移动到另一个的起点的指示,或者其他描述多边形的方式

我研究了
array.push()
函数,虽然它看起来像是一种局部方法,但我看不出如何根据数组中的迭代值动态创建变量


谢谢

目前您的积分是字符串。将它们转换为google.maps.LatLng对象:

var point = "-1.2345678,50.9876543";
var coords = point.split(",");
var pt = new google.maps.LatLng(parseFloat(coords[0]), 
                                parseFloat(coords[1]));

然后将生成的google.maps.LatLng对象推送到多边形的“路径”数组中。

您有一个表示纬度和经度的字符串数组,需要一个
google.maps.LatLng
数组。我将使用
array.map()
函数-

var polyCoords = spatial.points.map(function(point) {
    var pointCoords = point.split(',');
    return new google.maps.LatLng(
        parseFloat(pointCoords[0]),
        parseFloat(pointCoords[1]));
});