2017-04-27 4 views
0

Ich habe WFS GeoJson-Layer von GeoServer erstellt, ich habe diese URL 'http://localhost:8080/geoserver/trail/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=trail:sbi_branch_data&maxFeatures=50&outputFormat=application%2Fjson', ich habe Beispiel von OL3 Beispiele Von diesem Code habe ich versucht, einige Code in OpenLayer3, aber einige error.please helfen mir. Danke .WFS Layer nicht anzeigen

<!DOCTYPE html> 
<html> 
    <head> 
    <title>WFS</title> 
    <!-- <link rel="stylesheet" href="https://openlayers.org/en/v4.1.0/css/ol.css" type="text/css"> 
    <!-- The line below is only needed for old environments like Internet Explorer and Android 4.x --> 
    <!-- <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script> 
    <script src="https://openlayers.org/en/v4.1.0/build/ol.js"></script>--> 

    <link rel="stylesheet" href="css/ol.css" type="text/css" /> 
    <link rel="stylesheet" href="css/sample.css" type="text/css" /> 


    </head> 

    <body> 
    <div id="map" class="map"></div> 
    <script src="js/ol.js"></script> 
     <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> 
    <script> 
     var vectorSource = new ol.source.Vector({ 
     format: new ol.format.GeoJSON(), 
     url: function(extent) { 
      return 'http://localhost:8080/geoserver/trail/ows?service=WFS&'+ 
      'version=1.0.0&request=GetFeature&typeName=trail:sbi_branch_data&'+ 
      'maxFeatures=50&outputFormat=application/json&srsname=EPSG:4326&' + 
       'bbox=' + extent.join(',') + ',EPSG:4326'; 
     }, 
     strategy: ol.loadingstrategy.bbox 
     }); 


     var vector = new ol.layer.Vector({ 
     source: vectorSource, 
     style: new ol.style.Style({ 
      stroke: new ol.style.Stroke({ 
      color: 'rgba(0, 0, 255, 1.0)', 
      width: 2 
      }) 
     }) 
     }); 

     var raster = new ol.layer.Tile({ 
     // source: new ol.source.BingMaps({ 
     // imagerySet: 'Aerial', 
     // key: 'Your Bing Maps Key from http://www.bingmapsportal.com/ here' 
     // }) 
     }); 

     var map = new ol.Map({ 
     layers: [raster, vector], 
     target: document.getElementById('map'), 
     view: new ol.View({ 
      center: [20.5937, 78.9629], 
      maxZoom: 19, 
      zoom: 12 
     }) 
     }); 
    </script> 
    </body> 
</html> 

Fehler: „XMLHttpRequest kann nicht geladen werden http://localhost:8080/geoserver/trail/ows?service=WFS&version=1.0.0&request ... 644.126.996, -13297.517049905844,22569.517044127,13455.442849905845, EPSG:.. 4326 Nein" Access-Control-Allow-Origin-Header auf die angeforderte Ressource vorhanden ist Origin ‚null "ist daher nicht erlaubt."

+2

Dies ist das Cross-Domain-Scripting-Problem. Sie müssen entweder CORS im Geoserver aktivieren oder eine Proxy-Klasse auf Ihrem Server einrichten, um die Anforderungen an den Geoserver zu bearbeiten. – pavlos

+0

siehe https://gis.stackexchange.com/questions/101679/same-origin-policy-problem-using-wfs-t-with-geoserver-openlayers-3 –

+0

Vielen Dank für Hilfe, Sie haben eine Idee, wie Sie jsonp aktivieren von Geoserver. –

Antwort

0

habe ich die Lösung, Zuerst installierte ich die Apache dann die httpd.config ändern file.I nur

setzen

ProxyRequests Off ProxyPreserveHost On <Proxy /geoserver> Require all granted </Proxy> ProxyPass /geoserver http://localhost:8080/geoserver ProxyPassReverse /geoserver http://localhost:8080/geoserver Proxypass/geoserver http://localhost:8080/geoserver Proxypassreverse/geoserver http://localhost:8080/geoserver

dieser Code in httpd. Konfiguration am Ende der Datei. und dann aktiviert dies von httpd.config

LoadModule proxy_module modules/mod_proxy.so 
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 
LoadModule proxy_http_module modules/mod_proxy_http.so 

alle in Apache in ht-docs gespeichert ich meine HTML-Dateien Dann dann alle WFS-Dateien ausgeführt wird.

Verwandte Themen