简单的例子'Openlayers GML'?

时间:2017-03-23 14:32:57

标签: openlayers gml

我迫切希望在互联网上找到一个简单的例子,如何将'GML数据'添加到(一个Vector in)Openlayers v4中。这似乎是一个简单的问题,但我找不到任何有用的例子(我发现了很多Openlayers v2和v3的例子)。

到目前为止,我有以下代码:

[example.html的]

 <!doctype html>
<html lang="en">
  <head>
    <link rel="stylesheet" href="https://openlayers.org/en/v4.0.1/css/ol.css" type="text/css">
    <script src="https://openlayers.org/en/v4.0.1/build/ol.js"></script>
  </head>
  <body>
    <h1>My Map</h1>
    <div id="map"></div>
    <script type="text/javascript">
      var map = new ol.Map({
        target: 'map',
        layers: [
          new ol.layer.Tile({
            title: 'Global Imagery',
            source: new ol.source.TileWMS({
              url: 'https://ahocevar.com/geoserver/wms',
              params: {LAYERS: 'nasa:bluemarble', TILED: true}
            })
          }),
          new ol.layer.Vector({
            source: new ol.source.Vector({
                url: 'test.gml',
                format: new ol.format.GML()
            }),
          }),
        ],
        view: new ol.View({
          projection: 'EPSG:4326',
          center: [0, 0],
          zoom: 0,
          maxResolution: 0.703125
        })
      });
    </script>
  </body>
</html>

[test.gml]

<?xml version="1.0" encoding="utf-16"?>
<gml:featureMember
    xsi:schemaLocation="http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/profiles/gmlsfProfile/1.0.0/gmlsf.xsd"
    xmlns:gml="http://www.opengis.net/gml"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <feature:feature fid="OpenLayers.Feature.Vector_107" xmlns:feature="http://example.com/feature">
        <feature:geometry>
            <gml:Point>
                <gml:pos>51.509865, -0.118092</gml:pos>
            </gml:Point>
        </feature:geometry>
    </feature:feature>
</gml:featureMember>

1 个答案:

答案 0 :(得分:0)

看到您正在尝试加载文件(gml)而不在WebServer中托管它。如果打开调试器模式,则会出现以下错误。

  

XMLHttpRequest无法加载file:/// C:/test.gml。交叉原始请求   只支持协议方案:http,data,chrome,   chrome-extension,https,chrome-extension-resource。

错误本身正在给你提示。 请参阅StackOverflow中发布的this问题的答案。