Элементы управления несколькими щелчками - Нужно ли добавлять слой на карту, прежде чем вы сможете добавить элемент управления? - PullRequest
4 голосов
/ 16 марта 2012

Этот код работает нормально как есть, но, похоже, он зависит от слоев, добавляемых на карту до добавления элементов управления. Это всегда так или я делаю что-то не так?

          var highlightCtrl = new OpenLayers.Control.SelectFeature([a,b], {
              hover: true,
              highlightOnly: true,
              renderIntent: "temporary",
              eventListeners: {                      
                  featurehighlighted: make_popup,
                  featureunhighlighted: kill_popup
              }
          });

          var selectControl = new OpenLayers.Control.SelectFeature([a,b,c,d], {
              clickout: true,
              toggle: false,
              multiple: false,
              hover: false
          });

          map.addLayer(a);
          map.addLayer(b);
          map.addLayer(c);
          map.addLayer(d);

          map.addControl(highlightCtrl);
          map.addControl(selectControl);
          highlightCtrl.activate();
          selectControl.activate();

1 Ответ

1 голос
/ 16 марта 2012

Нет, это не зависит от слоев, добавляемых на карту перед добавлением элементов управления.Как видно из этот пример .Вы можете добавить элемент управления SelectFeature и активировать его перед добавлением слоя на карту.

соответствующий фрагмент кода:

var selectControl = new OpenLayers.Control.SelectFeature(vectorLayer, {
    hover: false,
    highlightOnly: false,
    toggle: false,
    renderIntent: "select"
});

map.addControl(selectControl);

selectControl.activate();

map.addLayer(vectorLayer); //<-- layer added at the end 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...