/ / Carregar apenas os pontos necessários para mapear do PostGIS no Rails - ruby-on-rails, google-maps, postgis

Carregue apenas os pontos necessários para mapear do PostGIS no Rails - ruby-on-rails, google-maps, postgis

Eu estou carregando muitos pontos, polígonos e linhasde um banco de dados PostGIS para um mapa do google. Se eu carregar o banco de dados inteiro, ele "mata o navegador", portanto, estou procurando uma maneira de carregar apenas na área que o usuário pode ver. Existe uma maneira de conseguir isso?

Eu estou usando o GMaps3 para mostrar os dados, RGeo, PostGIS e Rails 3.

Respostas:

1 para resposta № 1

Você pode carregar os pontos via ajax.

Observe o bounds_changed-evento do mapa, envie os limites para o servidore deixe o servidor responder com os pontos (filtrados pelos limites dados). Como funciona exatamente a filtragem eu não posso dizer exatamente, porque eu não estou familiarizado com PostGIS, mas ST_CONTAINS parece ser o método que você precisa.

No entanto, um usuário pode aumentar o zoom para um nível muito baixo, nesse caso você ainda obterá uma grande quantidade de pontos, mas você pode restringir adicionalmente o carregamento dos pontos para um nível de zoom mais alto.

Outra opção (eu preferiria): importe os dados para um FusionTable e use um FusionTableLayer, isso daria um desempenho muito melhor.