Простой пример Openlayers GML?

Я отчаянно пытаюсь найти в Интернете простой пример того, как добавить «данные GML» в (вектор в) 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>

person user1806756    schedule 23.03.2017    source источник


Ответы (1)


Видите, вы пытаетесь загрузить файл (gml), не размещая его на WebServer. Если вы откроете режим отладчика, вы получите следующую ошибку.

XMLHttpRequest не может загрузить файл: /// C: /test.gml. Запросы с перекрестным происхождением поддерживаются только для схем протоколов: http, data, chrome, chrome-extension, https, chrome-extension-resource.

Сама ошибка подсказывает вам. Обратитесь к ответу на this вопрос, опубликованный в StackOverflow.

person Sumanth Shastry    schedule 24.03.2017