У меня есть сценарий, в котором мне нужно передать lat и long, разделенные точкой с запятой (;) из массива . API принимает максимум 145 латов в одном запросе. У меня есть в общей сложности 100 тыс. Латов, которые нужно передать как пакетный запрос и сохранить / добавить все ответы в один json файл.
Вот шаги, которые я пробовал до сих пор.
это мой образец массива геокодов. (Всего 100 КБ)
this.geocodes = [
'-39.32939098,173.80391646',
'-35.13188244,173.43837148',
'-35.96790802,174.22052708',
'-39.60085901,174.27450675',
'-46.89935626,168.12957415',
'-40.94922683,175.66038897',
'-40.57392064,175.39045103',
'-37.67488205,175.06674793',
'-37.77800560,175.22295017',
];
Я хотел бы передать каждые nth(145) lat long
как параметры запроса, разделенные точкой с запятой в один запрос GET .
getOneDayWeatherData() {
let searchParams = new HttpParams();
this.geocodes = [
'-39.32939098,173.80391646',
'-35.13188244,173.43837148',
'-35.96790802,174.22052708',
'-39.60085901,174.27450675',
'-46.89935626,168.12957415',
'-40.94922683,175.66038897',
'-40.57392064,175.39045103',
'-37.67488205,175.06674793',
'-37.77800560,175.22295017',
];
const output = [];
let j = 2;
for (let i = 0; i < this.geocodes.length; i++) {
output.push(this.geocodes.slice(i, j));
i++;
j = j + 2;
}
console.log('output', output);
searchParams = searchParams.append('geocodes', output.join(';')); //separated by semi colon
searchParams = searchParams.append('language', 'en-US');
searchParams = searchParams.append('format', 'json');
searchParams = searchParams.append(
'apiKey',
'yourAPIKey'
);
return this.http
.get<{ [key: string]: Weather }>(
`https://api.weather.com/v3/aggcommon/v3-wx-observations-current?`,
{ params: searchParams }
)
.pipe(
catchError((errorRes) => {
// send to Analytics server
return throwError(errorRes);
})
);
// .tap((data) => console.log('All :' + JSON.stringify(data))),
}
В качестве теста я пытался пройти every 2 elements
из моего массива геокодов, но безуспешно.
В компоненте, где я подписываюсь на эту услугу, где я хотел бы добавить все ответы в один файл JSON.
Любая помощь приветствуется. Спасибо