2016-06-30 17 views
0

Ich arbeite an einem Projekt, das mit NodeJs (ExpressJS) und AngularJS (Front-End) erstellt wurde.NodeJs - Datei zum dynamischen Aktualisieren eines Geojsons auf einer Karte lesen

Ich habe eine Karte, die geoJSON Polygone darauf anzeigen. Die Farbe des Polygons muss aus einer Echtzeitdatendatei gelesen werden. Die Farben können jede Sekunde aktualisiert werden.

Im Moment macht AngularJS eine $http.get Anfrage jede Sekunde

$interval(function(){ 
    MapService.getRealTimeData().then(function(resp){ 
     $scope.showDataError = false; 
     $scope.geojson = createGeoJsonObject(resp.data); 
    }, function(err){ 
     $scope.showDataError = true; 
    }); 
}, 1000) 

Die $ http ruft eine Express.js API, die die Datei lesen und eine GeoJSON zurückschicken.

Ist es ein guter Weg, es zu tun? Soll ich es ändern und Socket.io verwenden? Sollte der Server die Daten senden, wenn sich die Echtzeitdatendatei ändert?

EDIT

Danke für den Kommentar, werde ich auf diese Weise hält von jeder Sekunde mit dem Aufruf zu arbeiten. Tut mir leid, dass ich diese Art von "Frage" gestellt habe, aber danke für deine Hilfe.

+1

Ich nehme an, Ihre Frage wird bald geschlossen werden, da es 'in erster Linie auf Meinungen basiert' ist, aber ich denke, dass die Verwendung von Websocket mit socket.io die bessere Option für Ihren Fall ist, schauen Sie http://stackoverflow.com/q/ 6806263/972240 für weitere Informationen. – gevorg

+0

Ich habe meine Frage dann leider falsch geschrieben. Ich möchte nur wissen, ob meine Art, es zu tun, zu Problemen führen kann, oder wenn es keine gute Art zu arbeiten ist – Weedoze

Antwort

0

Wie oft wird es Updates geben?

Wenn es nahe bei 1000ms sowieso ist, können Sie tun, was Sie jetzt tun, keinen Grund, Socket.Io zu verwenden, es sei denn, Sie möchten komplexere Funktionen in einer einfachen Weise implementieren; Es scheint in Ordnung zu sein.

+0

Jede Sekunde rufe ich den Server, der eine Datei liest und überschreibt eine JSON-Datei, um es zurückzusenden – Weedoze

+0

Was tun Sie bedeuten komplexere Funktionen? Ich muss eine andere Seite erstellen, die auch die gleiche Datei jede Sekunde lesen wird – Weedoze

+0

Mit komplexem Merkmal meine ich, dass, wenn jeder Besucher seine eigene "Landkarte" haben würde, und Sie "Zimmer" für jede Person benötigen. Sie aktualisieren die Datei also nur einmal pro Sekunde? Dann können Sie auch einmal pro Sekunde eine Anfrage machen. Wie gevorg sagte, ich denke, Sie können diese Art von Fragen besser vermeiden, Sie haben nicht wirklich ein direktes Problem, das wir beantworten könnten. – Alexander

Verwandte Themen