Слой GML на самом деле является векторным слоем, созданным с использованием данных GML.Таким образом, вы можете посмотреть, как векторные слои следует использовать для открытия всплывающих окон.Ваш пример уже делает это.
Они используют элемент управления Select и открывают всплывающее окно при выборе функции:
selectControl = new OpenLayers.Control.SelectFeature(polygonLayer,
{onSelect: onFeatureSelect, onUnselect: onFeatureUnselect});
Где polygonLayer
в вашем случае будет line_1
вместо.
Создайте метод onFeatureSelect
, где вы открываете всплывающее окно:
function onFeatureSelect(feature) {
selectedFeature = feature;
popup = new OpenLayers.Popup.FramedCloud("chicken",
feature.geometry.getBounds().getCenterLonLat(),
null,
"<div style='font-size:.8em'>Feature: " + feature.id +"<br>Area: " + feature.geometry.getArea()+"</div>",
null, true, onPopupClose);
feature.popup = popup;
map.addPopup(popup);
}
Где map
- ваш объект карты.
Попробуйте его и прокомментируйтепрогресс или вопросы.