Alternando camadas base conforme o usuário amplia o mapa no OpenLayers?


13

Eu tenho um mapa que sobrepõe dados do Open Street Map em imagens para a Pensilvânia. Como camada de base para as estradas (e eventualmente outras camadas), tenho duas camadas de base - Blue Marble NG e USGS EROS 1ft. Eu gostaria de poder combinar essas duas camadas em um único objeto de mapa base que muda automaticamente à medida que o usuário aproxima o zoom, pois não faz sentido exibir as imagens de 1 pé para todo o estado ou as imagens de mármore azul quando você estiver com o zoom.

Idealmente, eu gostaria de fazer isso no lado do cliente, pois estou obtendo as imagens de dois sites diferentes.


Há um link quebrado nesta pergunta que foi apontado em gis.stackexchange.com/questions/173775/… É uma pena que um comentário não tenha sido feito aqui para alertá-lo anteriormente.
PolyGeo

Respostas:


17
  1. Adicione 2 camadas base ao mapa
  2. Inscrever-se no evento zoomend do mapa
  3. Verifique o nível de zoom e apenas mude o mapa base para seu usuário

Aqui está uma página de exemplo com um manipulador de eventos para zoomend - http://www.openlayers.org/dev/examples/events.html .



@iant, Alguma chance de você conseguir colar um trecho do seu código? Estou tentando fazer isso acontecer, e é apenas um buggy. Obrigado!

Há um link quebrado nesta resposta que foi apontado em gis.stackexchange.com/questions/173775/… É uma pena que um comentário não tenha sido feito aqui para alertá-lo anteriormente.
PolyGeo

-1 para um único link quebrado em uma resposta de 5 anos? Seriamente? Realmente não me importo com os pontos, mas não posso imaginar que os administradores agora estejam pedindo a todos que mantenham links para referências externas. Observe que a resposta nos marcadores 1,2,3 está completa e os links da API ainda funcionam. Se o leitor precisar encontrar uma amostra, confio em que pode encontrá-la por conta própria. O OL mudou e mudou muito nos últimos 5 anos.
Vadim

0

Outra maneira ... usando o controle de opacidade

Experimente este exemplo https://github.com/openlayers/ol2/blob/master/examples/layer-opacity.html

uma combinação dos mapas USGS_EDC_Elev_NED_3 (Shaded Relief) e Topo com controle de opacidade

Funciona muito bem.


Não calou o efeito que eu estava tentando, mas um bom exemplo.
Ian Turton

Há um link quebrado nesta resposta que foi apontado em gis.stackexchange.com/questions/173775/… É uma pena que um comentário não tenha sido feito aqui para alertá-lo anteriormente.
PolyGeo

atualize o link para a fonte do github
Mapperz
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.