Страница 1 из 1
Отображение трека в OpenLayers
Добавлено: 10 окт 2011, 04:25
ArtIntellAnd
Здравствуйте, столкнулся с задачей отображения трека. Есть массив координат в php, как отобразить трек по этим координатам на OSM? Подскажите что почитать и если можно дайте пример

Пока только использую отображение координат в виде маркеров через OpenLayers.Layer.Text
Re: Отображение трека в OpenLayers
Добавлено: 10 окт 2011, 06:09
Denis Rykov
Либо сохраняете ваши координаты GeoJSON формате в *.js файле:
Код: Выделить всё
var points = /* представление данных в формате GeoJSON*/
и просто подключаете его на страницу своего проекта. Либо, пишете серверный скрипт, извлекающий данные из некоторого хранилища и отдающий клиенту в поддерживаемом формате, например в том же GeoJSON. Затем на клиенте создаете векторный слой и с помощью метода addFeatures добавляете все ваши точки. Вот пример как это делается вручную:
Код: Выделить всё
buildingLayer = new OpenLayers.Layer.Vector("Points");
buildingLayer.addFeatures([
new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(-50.126, 36.755)),
new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(-100.196, 43.215)),
new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(-150.556, 56.615)),
new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(-170.423, 35.510))
]);
Re: Отображение трека в OpenLayers
Добавлено: 10 окт 2011, 07:57
ArtIntellAnd
А можно трек нарисовать с момощью OpenLayers.Layer.PointTrack?? Если да

то можно примерчик

Re: Отображение трека в OpenLayers
Добавлено: 10 окт 2011, 09:22
Denis Rykov
Можно и так:
Код: Выделить всё
track = new OpenLayers.Layer.PointTrack("Points");
trackr.addNodes([
new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(-50.126, 36.755)),
new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(-100.196, 43.215)),
new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(-150.556, 56.615)),
new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(-170.423, 35.510))
]);
Уже поднималась
тема.
Немного поподробнее написал
тут.