Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα

 

Εχω λοιπον για web server τον node.js 0.10.12 με express.js 4.8.5. - localhost:5550

Openlayers 3.9.0 για τον χαρτη στο front-end

Geoserver 2.1.3 για web map server - localhost:8080/geoserver 

 

Οριζω layer στο openlayers 

var ait = new ol.layer.Tile({
extent: textent,
source: new ol.source.TileWMS({
  url: 'http://localhost:8080/geoserver/mymap/wms',
  crossOrigin: 'anonymous',
  attributions: [new ol.Attribution({
    html: '© ' +'<a href="http://www.geo.admin.ch/internet/geoportal/' +'en/home.html">' +'National parks / geo.admin.ch</a>'
  })],
   params: {'LAYERS': 'mymap:planet_osm_polygon, mymap:planet_osm_line, mymap:planet_osm_roads, mymap:planet_osm_point'},
   serverType: 'geoserver'
 })
})

και παω μετα να ορισω middleware για express.js μεσα στο app.js στον node, για να μη πεταει λαθος "No 'Access-Control-Allow-Origin' header"

 

οπότε

 

εχω μονο μια σελιδα στο node, οριζω το route της σε ξεχωριστο αρχειο, because why not

var routes = require('./routes/index');

το index.js περιεχει το route

var express = require('express');
var router = express.Router();

router.get('/', function(req, res, next) {
  res.render('index', { title: 'openlayers3 testing', head: 'Welcome' });
  next();
});

module.exports = router;

οποτε ολο το app.js ειναι

var routes = require('./routes/index');//εξηγησα πιο πανω

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

app.use(favicon());
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

και προσθεσα και CORS handling

app.use(function (req, res, next) {
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
    res.setHeader('Access-Control-Allow-Credentials', true);
    next();
});


app.get('/', routes);

και παρολα αυτα συνεχιζω και βλεπω το ρημαδι το λαθος

Image from origin 'http://localhost:8080' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:5550' is therefore not allowed access.

Δε ξερω τι μπορει να φταιει κ πως να κανω debug. Βοηθηστε please

 

Ευχαριστω

Δημοσ.

Ναι μου λεει οτι δε στελνει απο τον geoserver λογω της CORS policy. 

Tεσπα, οπως και να χει, δε καταλαβα τι ακριβως προτεινεις


Also

 

σε internet explorer 11 δουλευει κανονικα (!) χωρις λαθη και βλεπω το layer

σε firefox 30 δε δινει λαθη, αλλα δε βλεπω το layer

σε chrome 45 βγαζει το λαθος και δε βλεπω layer

 

ελα ρε φιλε, δε τα μπορω αυτα, για ονομα

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...