GetFeatureInfo - вопрос новичка
-
- Участник
- Сообщения: 54
- Зарегистрирован: 18 мар 2010, 16:58
- Репутация: 0
Re: GetFeatureInfo - вопрос новичка
Все равно данную функцию реализовать пока что не удалось... уж и не знаю в какую сторону копать...
Такой вопрос: как загнать атрибут в переменную? причем чтобы она работала для всей HTML-страницы.
Такой вопрос: как загнать атрибут в переменную? причем чтобы она работала для всей HTML-страницы.
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: GetFeatureInfo - вопрос новичка
Функция showInfo срабатывает? В отладке на бряк она останавливается?
лангольеры под окном жрали время ом-ном-ном
-
- Участник
- Сообщения: 54
- Зарегистрирован: 18 мар 2010, 16:58
- Репутация: 0
Re: GetFeatureInfo - вопрос новичка
А как это посмотреть? каким образом поставить breakpoint?
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: GetFeatureInfo - вопрос новичка
В Firefox открываете страницу. Запускаете Firebug. На вкладке 'Сценарии' открываете свой скрипт и на нужной строчке слева ставите жирную красную точку (или несколько). Щелкаете мышкой по карте и программа должна остановится в этом месте. Справа в 'Наблюдение' будет ваша переменная.
лангольеры под окном жрали время ом-ном-ном
-
- Участник
- Сообщения: 54
- Зарегистрирован: 18 мар 2010, 16:58
- Репутация: 0
Re: GetFeatureInfo - вопрос новичка
Код: Выделить всё
Window map_temp_1.html
scopeChain
[Вызов { evt=Object}, Window map_temp_1.html]
evt
Object { features=, more...}
element
null
features
[]
object
Object { EVENT_TYPES=, more...}
request
XMLHttpRequest { _object=XMLHttpRequest, more...}
text
""
type
"getfeatureinfo"
xy
x=332,y=88 { x=332, more...}
popup_markers
undefined
Там происходит вот такое нечто...
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: GetFeatureInfo - вопрос новичка
Я правильно понял, что если раскрыть переменную evt, то в ней features [] - т.е. пусто?
Или сервер действительно ничего не нашел в слое или GetFeatureInfo на сервере не настроен. Какой сервер (MapServer?) и работает ли эта функция, скажем, в qgis?
Или сервер действительно ничего не нашел в слое или GetFeatureInfo на сервере не настроен. Какой сервер (MapServer?) и работает ли эта функция, скажем, в qgis?
лангольеры под окном жрали время ом-ном-ном
-
- Участник
- Сообщения: 54
- Зарегистрирован: 18 мар 2010, 16:58
- Репутация: 0
Re: GetFeatureInfo - вопрос новичка
сервер - MapServer и в QGIS все работает.
В map-файле вроде бы все прописал согласно http://gis-lab.info/qa/mapserver-getfeatureinfo.html.
Такой вопрос: какую функциональную нагрузку несет template.html?
В map-файле вроде бы все прописал согласно http://gis-lab.info/qa/mapserver-getfeatureinfo.html.
Такой вопрос: какую функциональную нагрузку несет template.html?
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
-
- Участник
- Сообщения: 54
- Зарегистрирован: 18 мар 2010, 16:58
- Репутация: 0
Re: GetFeatureInfo - вопрос новичка
Получается проблема точно не в template.html?
Вот мой пример:
Вот мой пример
Код: Выделить всё
var map, layer;
function init(){
var map = new OpenLayers.Map( 'map', {maxExtent: new OpenLayers.Bounds(-4636379.553625, 1093215.327095, 4234511.104817, 6914737.321697), maxResolution: 256543,units: 'meters', projection: 'EPSG:5402777'});
var ag_layer = new OpenLayers.Layer.WMS( "Базовая карта",
"http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/AG_maps/exper/Russia_baidara_temp_1.map&",
{layers: 'states',format: 'image/png'},{isBaseLayer: false});
var layer_ctrl = new OpenLayers.Control.WMSGetFeatureInfo({
url: 'http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/AG_maps/exper/Russia_baidara_temp_1.map&',
title: 'title control',
layers: [ag_layer],
queryVisible: true
}
);
layer_ctrl.events.register('getfeatureinfo', this, showInfo);
map.addControl(layer_ctrl);
layer_ctrl.activate();
map.addLayer(ag_layer);
map.setBaseLayer(ag_layer);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent();
};
function showInfo(evt) {
var text = ''
for(i in evt.features) {
text += evt.features[i].attributes.NAME
}
var popup_markers = new OpenLayers.Popup.FramedCloud("popup",
map.getLonLatFromPixel(evt.xy),
null,
evt.text,
null,
true
);
map.addPopup(popup_markers);
};
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: GetFeatureInfo - вопрос новичка
Вроде все правильно. Должно работать. У меня идеи кончились.
лангольеры под окном жрали время ом-ном-ном
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя