Mai mult

Includeți date de pe mai multe rânduri în infowindow CartoDB?

Includeți date de pe mai multe rânduri în infowindow CartoDB?


Am o vizualizare în CartoDB a unui set de puncte de date din tabelstrat de puncte. Folosesc cartodb.js și am o hartă frumoasă pentru consumul browserului.

Când un utilizator face clic pe un punct, aș dori să rulez o interogare sql care returnează mai multe rânduri referitoare la punctul de clic și aș dori să introduc toate acestea în infowindow.

selectați column_a column_b, etc din anothertable join pointlayer pe pointlayer.point_id = anothertable.point_id unde pointlayer.point_id = 

altă masăpoate avea 0 sau mai multe rânduri pentru oricarepunct_id

Este posibil acest lucru cu infowindows? Mi se pare că răspunsul este probabil nu: sunt concepute pentru un singur rând. Bănuiesc că trebuie să găsesc o altă soluție decât utilizarea infowindow-ului CartoDB (de exemplu, folosind popup-ul Leaflet), dar m-am gândit să întreb.

Obțineți informații de pe mai multe rânduri într-un singur popup al CartoDB? sugerează „interogarea efectivă a tabelului și recuperarea tuturor datelor”. Nu precizează că infowindow-ul în sine poate fi folosit pentru ao afișa ... deși aș putea să-l citesc incorect.


Da, o puteți face cu CartoDB.js. Acest link vă va ajuta: http://bl.ocks.org/xavijam/378c6dc0d43654280757


Ați putea folosi probabil funcții agregate PostgreSQL pentru a rezolva acest lucru. Presupunând că coloanele dvs. sunt șiruri, le-ați putea folosistring_agg (expresie, delimitator)pe interogare pentru a recupera mai multe coloane într-un singur rând.