将数组转换为Google Lat / Lng数组? [英] Convert Array to Google Lat/Lng Array?

查看:94
本文介绍了将数组转换为Google Lat / Lng数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有数组

  [[[11.11,11.11],[22.22,22.22],[33.33,33.33] ],[[11.11,11.11],[22.22,22.22],[33.33,33.33]]] 

我想要做的是将其转化为,

  var paths = [[
new google.maps。 LatLng(38.872886,-77.054720),
新增google.maps.LatLng(38.872602,-77.058046),
新增google.maps.LatLng(38.870080,-77.058604),
新增google.maps .LatLng(38.868894,-77.055664),
new google.maps.LatLng(38.870598,-77.053346)
],[
new google.maps.LatLng(38.871684,-77.056780),
new google.maps.LatLng(38.871867,-77.055449),
new google.maps.LatLng(38.870915,-77.054891),
google.maps.LatLng(38.870113,-77.055836),
new google.maps.LatLng(38.870581,-77.057037)
]];

其中每个

  [[11.11,11.11],[22.22,22.22],[33.33,33.33]] 



我的数组中有一个新的数组是Google LatLng标记。

我曾尝试在数组中使用map函数,如下所示:

  point.map(新的google.maps.LatLng(点))

但是得到NaN错误。我需要打破每一个点吗?或者我可以通过诸如map这样的调用来更流畅吗?

/ p>

  var input = [
[
[11.11,11.11],
[22.22,22.22 ],
[33.33,33.33]
],
[
[11.11,11.11],
[22.22,22.22],
[33.33,33.33 ]
]
];
var paths = [];
for(var i = 0; i< input.length; i ++){
var path = [];
for(var j = 0; j< input [i] .length; j ++){
path.push(new google.maps.LatLng(input [i] [j] [0],输入[i] [j] [1]));
}
paths.push(path);

console.dir(paths);



演示这里


I have the array

[[[11.11,11.11],[22.22,22.22],[33.33,33.33]],[[11.11,11.11],[22.22,22.22],[33.33,33.33]]]

What I would like to do is conver this into,

  var paths = [[
    new google.maps.LatLng(38.872886, -77.054720),
    new google.maps.LatLng(38.872602, -77.058046),
    new google.maps.LatLng(38.870080, -77.058604),
    new google.maps.LatLng(38.868894, -77.055664),
    new google.maps.LatLng(38.870598, -77.053346)
  ], [
    new google.maps.LatLng(38.871684, -77.056780),
    new google.maps.LatLng(38.871867, -77.055449),
    new google.maps.LatLng(38.870915, -77.054891),
    new google.maps.LatLng(38.870113, -77.055836),
    new google.maps.LatLng(38.870581, -77.057037)
  ]];

Where each

[[11.11,11.11],[22.22,22.22],[33.33,33.33]]

of my array is a new array Google LatLng Markers.

I have tried using map function on the array like this:

  point.map(new google.maps.LatLng(point))

But get a NaN error. Do I need to break everypoint out or can I do this more fluidly with a call such as map?

解决方案

Nested loops?

var input = [
    [
        [11.11, 11.11],
        [22.22, 22.22],
        [33.33, 33.33]
    ],
    [
        [11.11, 11.11],
        [22.22, 22.22],
        [33.33, 33.33]
    ]
];
var paths = [];
for (var i = 0; i < input.length; i++) {
    var path = [];
    for (var j = 0; j < input[i].length; j++) {
        path.push(new google.maps.LatLng(input[i][j][0], input[i][j][1]));
    }
    paths.push(path);
}
console.dir(paths);​

Demo here

这篇关于将数组转换为Google Lat / Lng数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆