Рисование треков в OpenLayers

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Tink
Участник
Сообщения: 50
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 4

Рисование треков в OpenLayers

Сообщение Tink »

Здравствуйте, столкнулся с задачей отображения треков. Сделал на основе PointTrack следующие образом:

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

function MapHelper() {
...
    this.map;
    this.track = null;
...
}

MapHelper.prototype.createLayers = function () {
...
    this.track = new OpenLayers.Layer.PointTrack('Track', { styleFrom: OpenLayers.Layer.PointTrack.SOURCE_NODE, style: { strokeColor: '029aee', strokeWidth: 3} });
    this.map.addLayer(this.track);
    this.layerrequests.push('Track');
...
}

MapHelper.prototype.showTrack = function (techserial, day) {
    if (techserial != undefined) {
        var trackLayer = this.track;
        var b = mapHelper.map.getExtent();
        if (day == null || day < 0) day = 0;
        var params = {
            top: b.top,
            right: b.right,
            bottom: b.bottom,
            left: b.left,
            tech: techserial,
            day: day,
            r: Math.random()
        };
        ajaxWrapper({
            type: "POST",
            url: "Tech.spx/GetTrack",
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify(params),
            success: function (result) {
                trackLayer.removeAllFeatures();
                if (typeof (result) != "undefined" && null != result.d) {
                    var trackpoints = [];
                    $(result.d.trackpoints).each(function (i, e) {
                        var pnt = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(e.x, e.y));
                        trackpoints.push(pnt);
                    });
                    trackLayer.addNodes(trackpoints);
                    trackLayer.redraw();
                }
            }
        }, false);
    }
}
Работает в последней версии Opera (12.00 в младших версиях не работает) и Safari (5.0.3), в остальных браузерах трек не отображается, хотя ни каких исключений и ошибок не возникает.

Если я что-то сделал не так, подскажите как правильно.

PS другие слое-подложки (топография и т.д.) отображается.
Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Рисование треков в OpenLayers

Сообщение Denis Rykov »

Дайте ссылку на свой пример, иначе правильно-неправильно сложно сказать.
Spatial is now, more than ever, just another column- The Geometry Column.
Tink
Участник
Сообщения: 50
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 4

Re: Рисование треков в OpenLayers

Сообщение Tink »

Отправил ссылку в ЛС
Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Рисование треков в OpenLayers

Сообщение Denis Rykov »

Проблема была связана с ошибкой в определении стиля, вместо strokeColor: '029aee' нужно писать strokeColor: '#029aee'.
Spatial is now, more than ever, just another column- The Geometry Column.
Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя