Мне предложили рассмотреть проблему в приложении, с которым я не знаком, angular не является моей обычной средой разработки, поэтому я не знаю, что происходит с этим фрагментом кода.
Код для размещения значков на карте, есть компонент карты, определенный как
export class FuseGoogleMapsDocsComponent {
@Input() coordinates = [{ 'lat': -34.397, 'lng': 150.644 }];
@Input() ceterLat = -34.397;
@Input() ceterLng = 150.644;
constructor() {
}
Существует HTML-тег, который ссылается на компонент
<fuse-google-maps-docs [ceterLat]="centerLat" [ceterLng]="centerLng" [coordinates]="coordinates"></fuse-google-maps-docs>
Но когда заполняется массив координат, он всегда не определен
Массив объявлен как
coordinates = [];
И функция, заполняющая массив: массив возвращает 39 строк, и цикл работает успешно, но после операторов push массив координат не определен.
public GetIpListMap() {
const DataUrl = 'api/IPTracking/GetUserIPAddress?userID=' + this.userID;
this._http.get(DataUrl).subscribe(response => {
let maps = response.data;
let allLat = 0;
let allLng = 0;
let i = 0;
maps.forEach(item => {
allLat += item.latitude;
allLng += item.longitude;
const coordinate = { lat: item.latitude, lng: item.longitude};
i += 1;
this.coordinates.push(coordinate);
});
this.centerLat = allLat / i;
this.centerLng = allLng / i;
});
}
Я уверен, что это что-то действительно простое, но я просто не могу понять это.
Спасибо за вашу помощь