Я создаю отслеживание транспортных средств в режиме реального времени, используя карту angular и laravel в качестве бэкэнда. В бэкэнде я хранил данные GPS. Затем я установил маркеры на карте, используя их. Затем мне нужно было обновить маркеры, когда они меняются. Поэтому я использовал интервал (2000) в файле gmaps.compon enet .ts, как показано ниже. Но иногда мое приложение angular показывает «Ошибка сервера: сообщение о попытке многих». Пожалуйста, как это исправить.
В gmaps.component.ts
ngOnInit() {
this.selectOption(this.selected);
this.vehiclesService.getVehicleTypes().subscribe(res => {
this.vehicle_types = res.vehicleType;
});
this.inte= interval(2000).subscribe(x=>{
this.count++;
this.cities = [];
if(this.selected=="All"){
this.TrackingService.getTracking().subscribe(res => {
res.vehicle.forEach(element => {
this.iconsu = { url: 'https://i.stack.imgur.com/wN5QD.png', scaledSize: {height: 80, width: 80}}
this.cities.push({
lat:element.Current_lat,
lng:element.Current_lng,
icon:this.iconsu,
});
});
});
}else{
this.TrackingService.getTracking().subscribe(res => {
res.vehicle.forEach(element => {
if(element.vehicle_type_name == this.selected){
this.cities.push({
lat:element.Current_lat,
lng:element.Current_lng,
});
}
});
});
}
});
}
selectOption(selected: any) {
//getted from event
this.selected=selected;
}
это gmaps.component. html file
<nb-card-body>
<agm-map [latitude]="lat" [longitude]="lng">
<agm-marker *ngFor="let m of cities; let i = index"
[latitude]="m.lat" [longitude]="m.lng"
[iconUrl]="m.icon"
></agm-marker>
</agm-map>
</nb-card-body>
Пожалуйста, помогите !! !