ammap を使用して線を描画しようとしていますが、始点と終点の座標の配列を生成するのに行き詰まっています。以下に示すように、キーとして case_study を持つ json 配列を使用する必要があります
var data = {
"countries_involved": [
{"c_id": 6, "country": "India", "longitude": "21", "latitude": "78.0000", "involvement": 3, "case_study": 4},
{"c_id": 7, "country": "Canada", "longitude": "62", "latitude": "105.3809", "involvement": 3, "case_study": 4},
{"c_id": 8, "country": "Comoros", "longitude": "12", "latitude": "44.2333", "involvement": 1, "case_study": 5},
{"c_id": 9, "country": "Madagascar", "longitude": "20", "latitude": "47.0000", "involvement": 1, "case_study": 5},
{"c_id": 10, "country": "Mauritius", "longitude": "20", "latitude": "57.5000", "involvement": 1, "case_study": 5}
],
"country_details": [
{"name": "Kenya", "longitude": "-1", "latitude": "36.8000", "case_study": 4},
{"name": "Kenya", "longitude": "-1", "latitude": "36.8000", "case_study": 5}
]
};
次の形式でデータを返すためにjqueryフィルターを使用しています
{longitudes: [country_details.longitude,countries_involved.longitude], latitudes: [country_details.latitude,countries_involved.latitude],}
これがforループ内の私の関数です
for (var i = 0; i < data.country_details.length; i++)
{
var obj = {
id: data.country_details[i]['name'].replace(/\s+/g, ''),
color: "#000000",
svgPath: targetSVG,
title: data.country_details[i]['country'],
latitude: data.country_details[i]['longitude'],
longitude: data.country_details[i]['latitude'],
scale: 1.5,
zoomLevel: 2.74,
lines: data.countries_involved.filter(function(involved) {
return involved.case_study === data.country_details[i].case_study
}).map(function(item) {
return {latitudes: [data.country_details[i].latitude, item.latitude], longitudes: [data.country_details[i].longitude, item.longitude]}
})
};
}
ただし、始点のみを意味し、終点を意味しない配列のみを取得し、item.latitude
評価しitem.longitude
ていません。誰でも助けてもらえますか?