我使用LayerSwitcher將幾個KML圖層(88)添加到OpenLayers地圖中。我已將所有圖層添加到SelectFeature控件。但是,一旦我使用OpenLayers.Map.addLayers
向地圖添加超過77層的圖層,SelectFeature的onSelect
函數就不會被調用。OpenLayers SelectFeature在幾個圖層上
它似乎與KML圖層沒有關係,因爲我可以從addLayers
調用中刪除任何11個圖層,其餘圖層可以正常工作。注意:我不必從SelectFeature構造函數中刪除任何內容。
proprietaryMap.addLayers(
[
BaseLayer,
SectionLayer, DistrictLayer, BoroughLayer,
Business, Hotel, Market, Restaurant,
Library, Museum, Theater,
PostSecondary, PrivateEarly, PrivateElementry, PrivateHigh, PrivateJunior, PrivateK8, PrivateK12,
PublicElementry, PublicHigh, PublicJunior, PublicK8, PublicK12, PublicBuilding, PublicSecondary,
Consulate, Court, Embassy, GOffice, Military, PostOffice,
Hospital, Inpatient, Outpatient,
Corrections, Battalion, Division, Engine, Special,
CCB, Checkpoint, Precinct, NOther,
Amusement, Beach, Botanical, Garden, Golf, Park, Playground, RecCenter, Sports, Zoo,
Church, Convent, Mosque, Synagogue, Temple,
Constituent, Gated, PrivateDev, PublicHousing,
Adult, Homeless, Nursing,
Airport, Bridge, Bus, Ferry, Heliport, Marina, Mile, Intersection,
Subway, Pier, Rail, Toll, Transit, Tunnel, WaterNav,
Island, Lake, River,
Center, Cemetery, Landmark, POI, Other
]);
var selectControl = new OpenLayers.Control.SelectFeature(
[
Business,
Hotel, Market, Restaurant,
Library, Museum, Theater,
PostSecondary, PrivateEarly, PrivateElementry, PrivateHigh, PrivateJunior, PrivateK8, PrivateK12,
PublicElementry, PublicHigh, PublicJunior, PublicK8, PublicK12, PublicBuilding, PublicSecondary,
Consulate, Court, Embassy, GOffice, Military, PostOffice,
Hospital, Inpatient, Outpatient,
Corrections, Battalion, Division, Engine, Special,
CCB, Checkpoint, Precinct, NOther,
Amusement, Beach, Botanical, Garden, Golf, Park, Playground, RecCenter, Sports, Zoo,
Church, Convent, Mosque, Synagogue, Temple,
Constituent, Gated, PrivateDev, PublicHousing,
Adult, Homeless, Nursing,
Airport, Bridge, Bus, Ferry, Heliport, Marina, Mile, Intersection,
NYPDSubway, Pier, Rail, Toll, Transit, Tunnel, WaterNav,
Island, Lake, River,
Center, Cemetery, Landmark, POI, Other
],
{ onSelect: onFeatureSelect, onUnselect: onFeatureUnselect });
proprietaryMap.addControl(selectControl);
selectControl.activate();