это то, что я делаю, чтобы все функции на слоях CHOSEN стали выбираемыми при вызове всплывающих окон:
var selectStop = new OpenLayers.Control.SelectFeature([layerKMLClient, layerKMLStops, layerKMLTarget],{onSelect: onFeatureSelect, onUnselect: onFeatureUnselect});
layerKMLStops.events.on({
"featureselected": onFeatureSelect,
"featureunselected": onFeatureUnselect
});
layerKMLClient.events.on({
"featureselected": onFeatureSelect,
"featureunselected": onFeatureUnselect
});
layerKMLTarget.events.on({
"featureselected": onFeatureSelect,
"featureunselected": onFeatureUnselect
});
map.addControl(selectStop);
selectStop.activate();
обратите внимание, что у меня есть несколько других слоев (в основном из файлов KML, но также и некоторые векторные слои из файлов TXT), функции которых НЕ ВЫБИРАЮТСЯ. Вы можете изменить свое поведение, настроив onFeatureSelect для каждого типа слоя.
БОНУС: если вы решите использовать cluster strategy
на (некоторых) ваших слоях (поверьте, в какой-то момент времени вы это сделаете) - включите проверку истинности feature.cluster в вашем onFeatureSelected
утверждении функции :
function onFeatureSelect(event) {
var feature = event.feature;
if (feature.cluster) {