OL + MapServer. GetFeature из нескольких слоев одновременно

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
taskmgr
Интересующийся
Сообщения: 18
Зарегистрирован: 16 апр 2010, 06:52
Репутация: 0

OL + MapServer. GetFeature из нескольких слоев одновременно

Сообщение taskmgr »

Может быть кто-то сталкивался с такой проблемой, когда заранее неизвестно, из какого WFS-слоя пользователь будет выбирать объекты с помощью OpenLayers.Control.SelectFeature?
Например, есть карта города, где пользователь может выделить полигональный дом или линейную улицу, находящиеся в разных слоях.
Если в параметрах протокола передать названия слоев через запятую, как здесь:

Код: Выделить всё

      control = new OpenLayers.Control.GetFeature(
      {
        protocol: new OpenLayers.Protocol.WFS({
          url: "http://localhost/cgi-bin/mapserv.exe?MAP=C:\\ABL\\nsk.map&",
          featureType: 'buildings,streets',
          geometryName: 'msGeometry',
          featurePrefix: 'ms',
          srsName: "EPSG:4326"
        }),
	click: true
      });
или даже массивом строк, как здесь

Код: Выделить всё

      control = new OpenLayers.Control.GetFeature(
      {
        protocol: new OpenLayers.Protocol.WFS({
          url: "http://localhost/cgi-bin/mapserv.exe?MAP=C:\\ABL\\nsk.map&",
          featureType: ['buildings','streets'],
          geometryName: 'msGeometry',
          featurePrefix: 'ms',
          srsName: "EPSG:4326"
        }),
	click: true
      });

то OpenLayers формирует запрос, в котором в атрибуте typeName указанные слои передаются через запятую.
Это вроде как не соответствует спецификации WFS, где в этом случае требуется две ветви XML в запросе (по одной на каждый слой).
Вот здесь человек описывает ровно то же самое, и говорит, что решил проблему в OL, только вот не сообщает, каким образом :lol:
http://osgeo-org.1803224.n2.nabble.com/ ... 58608.html

Вот здесь человек пишет, что решал такую проблему редактированием исходного кода OpenLayers еще аж в 2008 году.
http://openlayers.org/pipermail/dev/200 ... 03829.html
Но я так понимаю, там и версия OL была другая, да и не айс делать такую хирургию.
Хочется верить, что это можно сделать штатными средствами.

Знатоки OpenLayers, спасайте! Проект горит. :roll:
Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя