首页 > 解决方案 > 将数组格式化为 Javascript 中 Google Map API 格式的 Lat Lng 数组

问题描述

如何格式化这个数组:

array = ["37.772, -122.214", "-27.467, 153.027"]

谷歌地图 API 的 Lat/Lng 如下所示:

flightPlanCoordinates = [
{lat: 37.772, lng: -122.214},
{lat: -27.467, lng: 153.027}];

我正在尝试这段代码:

let latLngArray = [];
for (let i = 0; i < array.length; i++) {
  const gData = new google.maps.LatLng(array[i][0], array[i][1]);
  latLngArray.push(gData);
}

但它导致 lat lng 没有价值:

截屏

标签: javascriptarraysjsongoogle-maps

解决方案


使用地图,拆分和破坏

const flightPlanCoordinates = ["37.772, -122.214", "-27.467, 153.027"]
  .map(coor => { 
    const [lat,lng] = coor.split(","); 
    return {lat:+lat,lng:+lng} 
  })

console.log(flightPlanCoordinates)

// OR mapping to number after splitting

const flightPlanCoordinates1 = ["37.772, -122.214", "-27.467, 153.027"]
  .map(coor => { 
    const [lat,lng] = coor.split(",").map(Number); 
    return {lat,lng} 
  })

console.log(flightPlanCoordinates1)


推荐阅读