Слой создается так (может и криво, но как уж смог) - сервер отдает GeoJSON:
Код: Выделить всё
point = new OpenLayers.Layer.Vector(
"Point",
{
visibility: false,
projection: map.displayProjection,
protocol: new OpenLayers.Protocol.Script({
url: "http://sitetrackerpoint.ru/",
filterToParams: function(filter, params) {
if (filter.type === OpenLayers.Filter.Spatial.BBOX) {
params.bbox = filter.value.toArray();
if (filter.projection) {
params.bbox.push(filter.projection.getCode());
}
}
return params;
}
}),
strategies: [
new OpenLayers.Strategy.Refresh({force: true, interval: 20000}),
new OpenLayers.Strategy.BBOX({resFactor: 1.1})
],
styleMap: new OpenLayers.StyleMap({
'default': defStyle,
'select': selStyle
}),
eventListeners: {
'featureselected': OnMouseEnter,
'featureunselected': OnMouseLeave
}
}
);
Пока я создаю слой:
Код: Выделить всё
track = new OpenLayers.Layer.PointTrack('Track', { styleFrom: OpenLayers.Layer.PointTrack.SOURCE_NODE, style: { strokeColor: '#029aee', strokeWidth: 3} });
Код: Выделить всё
var trackpoints = [];
$(result.trackpoints).each(function (i, e) {
var pnt = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(e.x, e.y));
trackpoints.push(pnt);
});
track.addNodes(trackpoints);