OpenLayers: пустой ответ на запрос GetFeatureInfo

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Salex
Новоприбывший
Сообщения: 11
Зарегистрирован: 25 фев 2010, 10:08
Репутация: 0

OpenLayers: пустой ответ на запрос GetFeatureInfo

Сообщение Salex »

Использую openlayers+mapserver. Карта нормально отображается, перемещается и масштабируется, проблемы начинаются, когда пытаюсь получить информацию об объекте. Использую такой код:

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

map.events.register('click', map, function (e) {
            var url =  build.getFullRequestString({
                            REQUEST: "GetFeatureInfo",
                            EXCEPTIONS: "application/vnd.ogc.se_inimage",
                            BBOX: map.getExtent().toBBOX(),
                            X: e.xy.x,
                            Y: e.xy.y,
                            INFO_FORMAT: 'text/plain',
                            QUERY_LAYERS: 'buildings',
                            WIDTH: map.size.w,
                            HEIGHT: map.size.h});
            OpenLayers.loadURL(url, '', this, setHTML,errorHTML);
            OpenLayers.Event.stop(e);            
      });
function setHTML(response) {
        OpenLayers.Util.getElement('getfeatureurl').innerHTML = response.responseText;
    }

function errorHTML(response) {
        OpenLayers.Util.getElement('getfeatureurl').innerHTML = response.responseText;
    }
и ответ приходит пустой, при этом вставляю адрес, который получается в переменной url, в адресную строку браузера - появляется текст с информацией об объекте. Что здесь может быть не так?

Итак, проблема сменила направление, все работает в IE и Safari и не работает в firefox и google chrome. Это где-то настраивается?
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: OpenLayers: пустой ответ на запрос GetFeatureInfo

Сообщение Mavka »

Попробуйте WMSGetFeatureInfo.
При проблемах с Firefox смотрите в Firebug
лангольеры под окном жрали время ом-ном-ном
Tokha
Интересующийся
Сообщения: 38
Зарегистрирован: 08 апр 2011, 09:53
Репутация: 2

Re: OpenLayers: пустой ответ на запрос GetFeatureInfo

Сообщение Tokha »

Salex писал(а):все работает в IE и Safari и не работает в firefox и google chrome.
У меня аналогичная проблема, только наоборот. GetFeatureInfo отлично работает в Firefox и Opera и категорически отказывается работать в IE (пробовал версии 6 и 8). Пробовал скрипты из разных примеров. В firefox работает, в IE никак.

Аналогично, если IE скормить сгенерированный URL в адресную строку, то ответ приходит, в OpenLayers ответ от сервера пустой. Никаких кэшей нет, только OL и mapserver, оба последних версий, на сегодняшний день.

Уже не знаю, куда копать. Скорее всего тут какая-то проблема с ajax. Никаких ошибок. Судя по логам, все находится успешно, статусы успешные, но ответ пустой. Кстати, другие ajax разработки, не через OL, работают в IE без проблем)

Есть у кого какие мысли?
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: OpenLayers: пустой ответ на запрос GetFeatureInfo

Сообщение Mavka »

OpenLayers официально не поддерживает IE 6.
В 8-ке включите дебаггер. Проверьте логи Apache на факт наличия запросов.
лангольеры под окном жрали время ом-ном-ном
Tokha
Интересующийся
Сообщения: 38
Зарегистрирован: 08 апр 2011, 09:53
Репутация: 2

Re: OpenLayers: пустой ответ на запрос GetFeatureInfo

Сообщение Tokha »

Mavka писал(а):OpenLayers официально не поддерживает IE 6.
В 8-ке включите дебаггер. Проверьте логи Apache на факт наличия запросов.
По всем логам, и Apache и mapserver, запросы приходят верные.
По дебаггеру IE-8 видно, что ответ приходит, но пустой (responseText = "").

Хотя, вот сейчас подробнее посмотрел, все-таки присутствует некая ошибка (см. картинку). В Firefox оба этих responseText имеют одинаковые значения.
Ошибка в дебаггере IE8 WMSGetFeatureInfo
Ошибка в дебаггере IE8 WMSGetFeatureInfo
Ошибка IE.GIF (32.11 КБ) 5300 просмотров
Tokha
Интересующийся
Сообщения: 38
Зарегистрирован: 08 апр 2011, 09:53
Репутация: 2

Re: OpenLayers: пустой ответ на запрос GetFeatureInfo

Сообщение Tokha »

Все, разобрался! :)
Особенность IE и AJAX.

Сделал так и все заработало:

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

# wms_encoding cp1251
wms_encoding utf-8 


ajax у IE работает только в юникоде, а у меня данные в cp1251.

Осталось у данных как-то кодировку изменить.
Ответить

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

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

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