Если вы используете Openlayers, вы можете попробовать использовать слой Openlayers GeoRSS вместо векторного слоя. Существует ряд вещей, которые могут потребовать настройки внутри openlayers при использовании векторных слоев для получения данных.
Попробуйте что-то вроде:
new OpenLayers.Layer.GeoRSS( 'GeoRSS Layer', 'http://ginyu.at:8080/geoserver/wienbike/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=wienbike%3Ainput2&maxfeatures=50&outputformat=json');
Если переход по ссылке показывает код GeooRSS, то очень маловероятно, что проблема связана с геосервером, а не с тем, как openlayers пытается обрабатывать данные.
Если вы действительно хотите использовать вектор, попробуйте использовать эти параметры, чтобы Openlayers знал, как обрабатывать данные. Что особенно важно, так это стратегия, поскольку она позволяет Openlayers знать, когда идти и получать данные и т. Д., И формат, поскольку он позволяет узнать, в каком формате находятся данные.
new OpenLayers.Layer.Vector("GeoRSS Layer", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "http://ginyu.at:8080/geoserver/wienbike/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=wienbike%3Ainput2&maxfeatures=50&outputformat=jsonl",
format: new OpenLayers.Format.GeoRSS()
})
});
И последнее, что нужно проверить, это то, что ваша карта и ваши данные используют одну и ту же проекцию. Линия:
ol.proj.transform([16.37, 48.21], 'EPSG:4326', 'EPSG:3857'),
Предполагается, что вы ожидаете, что ваша карта будет в формате EPSG:3857. Я не вижу, чтобы вы где-нибудь установили карту на эту проекцию. Поскольку вы используете слой MapQuestOpenAriel, вероятно, это правильная проекция. Это может не быть проблемой, если все ваши данные находятся в одном проекте. Однако вы должны убедиться, что ваши данные georss находятся в этой проекции. Глядя на данные, поступающие через ваш канал GeoRSS, кажется, что они имеют формат EPSG: 4326. Это означает, что они не будут правильно проецироваться на вашу карту. Это означает, что вам нужно будет перепроецировать координаты ваших данных GeoRSS. Мы можем сделать это, указав проекцию в слое Openlayers GeoRSS:
new OpenLayers.Layer.GeoRSS( 'GeoRSS Layer',
'http://ginyu.at:8080/geoserver/wienbike/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=wienbike%3Ainput2&maxfeatures=50&outputformat=json',
{projection: new OpenLayers.Projection("EPSG:4326")}
);
Мне не удалось найти никакой документации по переменной «парсер» для Openlayers. Это может означать, что вы используете другую библиотеку или более старую. Если это так, то то, что я сказал выше, может не помочь.
person
Darkcylde
schedule
05.02.2014