Вектор Style Point как маркер в Openlayers?

Похоже, что получить onDrag для маркеров на OpenLayers невозможно (это и это в качестве примеров)

Поэтому я хотел бы использовать векторный слой, а затем добавлять к нему точки вместо маркеров.

Моя проблема в том, что векторные точки не похожи на маркеры.

Могу ли я назначить значок точечному объекту?

Мне нужна функциональность векторной точки с видом маркера. сравнение


person jperelli    schedule 14.04.2012    source источник


Ответы (1)


Добавьте объект стиля со свойством externalGraphic в конфигурацию вашего векторного слоя:

var layer= new OpenLayers.Layer.Vector("example", {
    maxExtent: new OpenLayers.Bounds(-200,-200,200,200),
    style: {
        externalGraphic: 'http://www.openlayers.org/dev/img/marker.png', 
        graphicWidth: 21, 
        graphicHeight: 25,
        graphicYOffset: -24
    }
});

graphicYOffset перемещает маркер соответствующим образом, так что воспринимаемая его вершина соответствует местоположению на карте.

person drnextgis    schedule 16.04.2012
comment
Два предостережения: 1) Если вы прикрепите это ко всему слою, как вы стилизуете отдельные точки? 2) Кончик точки на самом деле не выровнен с фактическим местоположением, как правильно сдвинуть его вверх? - person Andrew Mao; 20.06.2013