将数组转换为Google Lat / Lng数组? [英] Convert Array to Google Lat/Lng Array?
本文介绍了将数组转换为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屋!
查看全文