Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bem pessoal, estou desenvolvendo um site onde serão carregados milhares, e quem sabe milhões de Markers (Pontos) no mapa;
Trata-se de pontos com locais de eventos (musica, cinema, etc etc);
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/nt8W7yB.png&key=db45db2eeb60cf555d8a42465ba49eeebb87fafe6cd06700911cdab4e7981f5f" alt="nt8W7yB.png" />
Bem, para isso existe o famoso MarkerCluster que todo mundo usa para isso, porém ele trabalha bem até no máximo 10.000 pontos;
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/AUVIopp.png&key=fecda6acee2eb2360004264a9e204765c80f99860faebc28b317a20f3fed45d6" alt="AUVIopp.png" />
Ao passar disso, chamar os pontos com ajax (e Json) e depois agrupar para criar o cluster fica simplesmente impossível, varios Mbs de Json, + o tempo de demora para por no mapa e tals;
Estava desanimado ate que vi este site http://www.lpgstations.com/
Atualmente eles tem mais de 34.173 Markers no mapa, e simplesmente ta leve, rápido;
Ao analisar o código deles (JS) vi que eles pegam o Json assim:
http://www.lpgstations.com/zoomed.php?zoom=8&bounds=52.08112307682961,2.6400304733303983,50.72073501112083,9.786636918642898
Com essas coordenadas do bounds cria-se um retângulo do tamanho do mapa visível e com alguma formula pega os pontos dentro desta area, o zoom também tem sua função aí, kkkk
E ao invés de retornar os pontos normais, ele retorna uma lista de "Clusters" com o total de pontos nele + uma lista de markers solitários, longe do cluster;
Resumindo ele cria monta o cluster server-side e manda "Markers" tipo cluster:
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/GGZBXCX.png&key=a1a2aac5231fc02ff9e109128b5498c3e69a626595124cda54969c45d7f0e19e" alt="GGZBXCX.png" />
+ os markers normais:
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/Gb2uC1E.png&key=26c6a5328f18675a0ff0646e8a1a70551095b474901cb44a1618500dcb85a57a" alt="Gb2uC1E.png" />
Em Js eu me viro com o que precisar, mas e agora, essa parada server-side como seria feita?
Em php?
Tinha olhado uns posts sobre Node.Js, nunca usei, nem sei como que funciona, pelo que vi serial algo como rodar JS no server?
Será que com isso daria para montar o cluster no server e retornar depois ele pronto ou algo parecido?
To perdidão aí, alguém tem alguma ideia de como fazer isso?
Obrigado!
Carregando comentários...