Если вы составляете словарь с информацией о широте и долготе в формате:
{'AK': {lat:"63.588753", long: "-154.493062"},
'AL': {lat:"32.318231", long: "-86.902298"}}
Чтобы получить информацию в словаре, вы можете использовать скрипт Scrapper на предоставленном вами сайте (запустить в консоли браузера):
JSON.stringify(Array.from(document.querySelector('.devsite-table-wrapper').children[0].children[0].children).reduce((acc,item) => ({...acc, [item.children[0].textContent]: {lat: item.children[1].textContent, long : item.children[2].textContent} })))
Он перебирает все строки таблицы и создает словарь
Результаты:
{
"AK":{
"lat":"63.588753",
"long":"-154.493062"
},
"AL":{
"lat":"32.318231",
"long":"-86.902298"
},
"AR":{
"lat":"35.20105",
"long":"-91.831833"
},
"AZ":{
"lat":"34.048928",
"long":"-111.093731"
},
"CA":{
"lat":"36.778261",
"long":"-119.417932"
},
"CO":{
"lat":"39.550051",
"long":"-105.782067"
},
"CT":{
"lat":"41.603221",
"long":"-73.087749"
},
"DC":{
"lat":"38.905985",
"long":"-77.033418"
},
"DE":{
"lat":"38.910832",
"long":"-75.52767"
},
"FL":{
"lat":"27.664827",
"long":"-81.515754"
},
"GA":{
"lat":"32.157435",
"long":"-82.907123"
},
"HI":{
"lat":"19.898682",
"long":"-155.665857"
},
"IA":{
"lat":"41.878003",
"long":"-93.097702"
},
"ID":{
"lat":"44.068202",
"long":"-114.742041"
},
"IL":{
"lat":"40.633125",
"long":"-89.398528"
},
"IN":{
"lat":"40.551217",
"long":"-85.602364"
},
"KS":{
"lat":"39.011902",
"long":"-98.484246"
},
"KY":{
"lat":"37.839333",
"long":"-84.270018"
},
"LA":{
"lat":"31.244823",
"long":"-92.145024"
},
"MA":{
"lat":"42.407211",
"long":"-71.382437"
},
"MD":{
"lat":"39.045755",
"long":"-76.641271"
},
"ME":{
"lat":"45.253783",
"long":"-69.445469"
},
"MI":{
"lat":"44.314844",
"long":"-85.602364"
},
"MN":{
"lat":"46.729553",
"long":"-94.6859"
},
"MO":{
"lat":"37.964253",
"long":"-91.831833"
},
"MS":{
"lat":"32.354668",
"long":"-89.398528"
},
"MT":{
"lat":"46.879682",
"long":"-110.362566"
},
"NC":{
"lat":"35.759573",
"long":"-79.0193"
},
"ND":{
"lat":"47.551493",
"long":"-101.002012"
},
"NE":{
"lat":"41.492537",
"long":"-99.901813"
},
"NH":{
"lat":"43.193852",
"long":"-71.572395"
},
"NJ":{
"lat":"40.058324",
"long":"-74.405661"
},
"NM":{
"lat":"34.97273",
"long":"-105.032363"
},
"NV":{
"lat":"38.80261",
"long":"-116.419389"
},
"NY":{
"lat":"43.299428",
"long":"-74.217933"
},
"OH":{
"lat":"40.417287",
"long":"-82.907123"
},
"OK":{
"lat":"35.007752",
"long":"-97.092877"
},
"OR":{
"lat":"43.804133",
"long":"-120.554201"
},
"PA":{
"lat":"41.203322",
"long":"-77.194525"
},
"PR":{
"lat":"18.220833",
"long":"-66.590149"
},
"RI":{
"lat":"41.580095",
"long":"-71.477429"
},
"SC":{
"lat":"33.836081",
"long":"-81.163725"
},
"SD":{
"lat":"43.969515",
"long":"-99.901813"
},
"TN":{
"lat":"35.517491",
"long":"-86.580447"
},
"TX":{
"lat":"31.968599",
"long":"-99.901813"
},
"UT":{
"lat":"39.32098",
"long":"-111.093731"
},
"VA":{
"lat":"37.431573",
"long":"-78.656894"
},
"VT":{
"lat":"44.558803",
"long":"-72.577841"
},
"WA":{
"lat":"47.751074",
"long":"-120.740139"
},
"WI":{
"lat":"43.78444",
"long":"-88.787868"
},
"WV":{
"lat":"38.597626",
"long":"-80.454903"
},
"WY":{
"lat":"43.075968",
"long":"-107.290284"
}
}
Затем вы можете составить данные, используя функцию карты и оператор распространения, и добавить координаты для каждого элемента массива, например,
const data = [{
"date": 20200421,
"state": "AK"
},
{
"date": 20200421,
"state": "AL",
"positive": 5231,
"negative": 43295
}
]
const dictionary = {'AK': {lat:"63.588753", long: "-154.493062"},
'AL': {lat:"32.318231", long: "-86.902298"}}
const result = data.map(item => ({...item, lat: dictionary[item.state].lat, long: dictionary[item.state].long }))
console.log(result)