我迫切希望在互联网上找到一个简单的例子,如何将'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>
答案 0 :(得分:0)
看到您正在尝试加载文件(gml)而不在WebServer中托管它。如果打开调试器模式,则会出现以下错误。
XMLHttpRequest无法加载file:/// C:/test.gml。交叉原始请求 只支持协议方案:http,data,chrome, chrome-extension,https,chrome-extension-resource。
错误本身正在给你提示。 请参阅StackOverflow中发布的this问题的答案。