Javascript 将数组数组转换为LatLang作为多边形路径
我需要将数组数组转换为Javascript 将数组数组转换为LatLang作为多边形路径,javascript,google-maps,Javascript,Google Maps,我需要将数组数组转换为LatLang,并将其用作多边形中的路径参数。我的数组如下所示: let jsonArrays = [ [ "-112.3240289", "33.5096918" ], [ "-112.3240288", "33.5096836" ], [ "-112.3240144", "33.507364" ], ...
LatLang
,并将其用作多边形中的路径参数。我的数组如下所示:
let jsonArrays = [
[
"-112.3240289",
"33.5096918"
],
[
"-112.3240288",
"33.5096836"
],
[
"-112.3240144",
"33.507364"
],
...and thousands more
for (let i = 0; i < jsonArrays.length; i++) {
let gData = new google.maps.LatLng(parseFloat(jsonArrays[i][0]), parseFloat(jsonArrays[i][1]));
latLngArray.push(gData);
}
let poly = new google.maps.Polygon({
paths: latLngArray,
strokeColor: '#00a153',
strokeOpacity: 0.8,
strokeWeight: 3,
// fillColor: '#FF0000',
fillOpacity: 0
})
让jsonArrays=[
[
"-112.3240289",
"33.5096918"
],
[
"-112.3240288",
"33.5096836"
],
[
"-112.3240144",
"33.507364"
],
…还有成千上万
for(设i=0;i
但这不起作用。我没有得到任何错误,多边形也没有出现。当我检查latLngArray
内容时得到的结果
所以,我需要一个多边形,我从中获取数据
有什么想法吗?由于
路径的值需要是,您可以用另一种方式尝试:
let jsonArrays = [
['-112.3240289', '33.5096918'],
['-112.3240288', '33.5096836'],
['-112.3240144', '33.507364'],
['-112.3240289', '33.5096918']
];
const newCoords = jsonArrays.map(val => ({
lat: parseFloat(val[1]), // y value
lng: parseFloat(val[0]) // x value
}));
let poly = new google.maps.Polygon({
paths: newCoords,
strokeColor: '#00a153',
strokeOpacity: 0.8,
strokeWeight: 3,
// fillColor: '#FF0000',
fillOpacity: 0
});
使用,您可以将原始阵列转换为新的对象阵列,其中包括lat
和lng
,但已交换。纬度必须介于90度和-90度之间。在阵列中,第一个数字超出了有效纬度的范围([“-112.3240289”,“33.5096918”
),所以必须是经度(同样,仅供参考,GeoJSON规范以这种方式定义地理坐标[经度,纬度]
)
更改代码以按正确顺序使用坐标:
let gData = new google.maps.LatLng(parseFloat(jsonArrays[i][1]), parseFloat(jsonArrays[i][0]));
(增加了几点)
代码片段:
函数initMap(){
var map=new google.maps.map(document.getElementById('map'){
缩放:5,
中心:{
拉脱维亚:24.886,
液化天然气:-70.268
},
mapTypeId:'地形'
});
var latLngArray=[];
设jsonArrays=[
["-112.3240289", "33.5096918"],
["-112.3240288", "33.5096836"],
["-112.3240144", "33.507364"],
["-112.327685", "33.5073"],
["-112.327728", "33.51"],
["-112.324016", "33.51"],
]
for(设i=0;i
html,
身体,
#地图{
身高:100%;
保证金:0;
填充:0;
}