Ich versuche nur neue "Google Map" Markers
aus Datenbank abgerufen werden durch RxJS observables
und jQuery $.ajax
VerwendungRxJS Google Maps Marker
Ich erhalte eine Reihe von Markierungen alle 5 Sekunden. Wenn die Daten innerhalb des Arrays geändert wurden, d. H. Neue Marker angehängt, muss ich nur neue Marker herausfiltern.
var oldArray = [["ObjA",3455,643523,2],["ObjB",5346,2134,1],["ObjC",5341,7135,0]];
var newArray = [["ObjA",3455,643523,2],["ObjD",2384,4791,3],["ObjB",5346,2134,1],["ObjC",5341,7135,0],["ObjF",2631,7228,4]];
Also hier aus newArray
brauche ich ["ObjD",2384,4791,3]
und ["ObjF",2631,7228,4]
ich keine Ahnung haben, um herauszufiltern, wie es getan werden kann, und kann es gar RxJS durch die Verwendung nur durchgeführt werden.
Ich würde wirklich schätzen, wenn jemand mich in die richtige Richtung führen könnte!
var observable = Rx.Observable
.interval(5000)
.flatMap(function() {
return Rx.Observable
.from($.ajax({url: "https://somedomain.com/json"}).promise())
})
.filter(x => !!x === true)
.distinctUntilChanged();
observable.subscribe((response) => {
var newMarker = $.parseJSON(response.data);
});
Können Sie einen Ausschnitt von dem, was Sie versucht haben und wo Sie stecken geblieben sind, veröffentlichen? – paulpdaniels
@paulpdaniels, Vielen Dank für Ihre Antwort. Ich schätze es sehr. Ich habe meine Frage mit dem Code-Snippet aktualisiert. Ich habe versucht, diese Aufgabe auf viele verschiedene Arten zu erfüllen, aber ohne Erfolg. Dies ist der Code von meinem letzten Versuch. Bitte beurteile mich nicht streng, denn ich bin wirklich neu bei RxJS und versuche mein Bestes zu geben, um es schnell und richtig zu bekommen. Danke nochmal! –
Also ist der Teil, an dem Sie stecken bleiben, was zu tun ist, sobald Sie die Daten vom Server zurück haben? – paulpdaniels