Страница 1 из 1

openlayers и линии

Добавлено: 16 май 2013, 15:39
Андрей Щ
всем привет! в опенлеерс проставил маркеры..координаты которых берутся из бд, каким образом маркеры соединить по линнии? т.е. из имеющихся маркеров построить линии? как вариант еще можно сделать отдельно точки и по точкам построить линию.координаты точек можно забить жестко в коде.

Код: Выделить всё

//создаем маркер
        markers = new OpenLayers.Layer.Markers("Marcadores");
        map.addLayer(markers);

        if (b == 2) 
        {           
                
                var size = new OpenLayers.Size(30, 30);
                var offset = new OpenLayers.Pixel(-(size.w / 2), -size.h);
                
                var location = new OpenLayers.LonLat(kor_1,kor_2).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
                var markers2 = new OpenLayers.Geometry.LineString(markers);
                var icon = new OpenLayers.Icon('http://icons.iconarchive.com/icons/icons-land/vista-map-markers/256/Map-Marker-Ball-Pink-icon.png', size, offset);
                markers.addMarker(new OpenLayers.Marker(location, icon.clone()));

        }

Re: openlayers и линии

Добавлено: 17 май 2013, 10:51
Denis Rykov
Думаю, из следующего фрагмента будет понятно как создавать линии:

Код: Выделить всё

vector = new OpenLayers.Layer.Vector();
points = [new OpenLayers.Geometry.Point(0,0), new OpenLayers.Geometry.Point(1000,1000)];
line = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString(points));
vector.addFeatures([line]);
map.addLayer(vector);
И еще - не используйте маркеры, они устарели. Более современный и гибкий вариант - OpenLayers.Layer.Vector.

Re: openlayers и линии

Добавлено: 17 май 2013, 12:22
Андрей Щ
спасибо!