Когда OpenLayers WMS физически вызывает удаленный сервер? - PullRequest
2 голосов
/ 05 марта 2012

Я пытаюсь упростить свое приложение, и мне было интересно, когда OpenLayers физически делает вызов серверу WMS?Кроме того, видимость слоя также играет роль в вызовах?

Это происходит, когда вы создаете экземпляр слоя

var layer = new OpenLayers.Layer.WMS("MyLayer"... 

или после добавления слоя на карту?

map.addLayer(layer);

Спасибо за помощь!

1 Ответ

3 голосов
/ 05 марта 2012

Это делает вызов (ы), когда вы добавляете слой. Тем не менее, это не то, что вы думаете. В отличие от вызова WFS, который создает запрос WFS и получает ответ WFS. Слой WMS работает по-другому. Когда вы создаете экземпляр слоя, открытые слои будут рассчитывать все нужные ему плитки в зависимости от размера. Затем, когда вы добавляете слой, openlayers генерирует html, который делает запрос (и) с помощью простых запросов GET, которые происходят через <img src=... Так, например, он может сгенерировать html, который имеет 4 изображения, где элемент SRC IMG равен вызову вашей WMS сервис, который возвращает плитку, которую openlayers будет использовать для разметки. что-то вроде:

http://vmap0.tiles.osgeo.org/wms/vmap0?LAYERS=basic&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&FORMAT=image%2Fjpeg&SRS=EPSG%3A4326&BBOX=0,33.75,11.25,45&WIDTH=256&HEIGHT=256

Посмотрите на этот пример проверки html:

enter image description here

Я рекомендую эту статью , чтобы помочь вам понять это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...