如何使用 Leaflet 发布矢量图层?
How can I publish vector layers with Leaflet?
我正在尝试使用 Leaflet 库将地理服务器中的矢量图层作为 WFS 发布,但出现如图所示的错误。我该如何解决这个错误,还有其他方法可以使用传单发布 WFS 吗?
<!DOCTYPE html>
<html>
<meta charset="utf-8" />
<head>
<script src=" https://unpkg.com/leaflet@1.2.0/dist/leaflet.js "></script>
<link rel="stylesheet" href=" https://unpkg.com/leaflet@1.2.0/dist/leaflet.css" />
<script src="https://code.jquery.com/jquery-3.2.1.js" ></script>
<style>
#map {
width: 100%;
height: 600px;
box-shadow: 5px 5px 5px #888;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
var map = L.map('map').setView([0, 0], 2);
var owsrootUrl = 'http://localhost:8080/geoserver/ows?';
var defaultParameters = {
service: 'WFS',
version: '1.1.0',
request: 'GetFeature',
typeName: 'webalani:il',
outputFormat: 'application/json',
};
var parameters = L.Util.extend(defaultParameters);
var URL = owsrootUrl + L.Util.getParamString(parameters);
$.ajax({
url: URL,
success: function (data) {
var geojson = new L.geoJson(data, {
style: {"color":"#2ECCFA","weight":2},
}
).addTo(map);
}
});
</script>
</body>
</html>
您正试图通过双击磁盘上的文件位置直接 运行 您的传单文件。这将不起作用,因为您使用的 AJAX 方法需要使用网络服务器。
确保您在浏览器栏中看到的是 http://localhost....
而不是 file://.....
,这样一切都会好起来的。
我正在尝试使用 Leaflet 库将地理服务器中的矢量图层作为 WFS 发布,但出现如图所示的错误。我该如何解决这个错误,还有其他方法可以使用传单发布 WFS 吗?
<!DOCTYPE html>
<html>
<meta charset="utf-8" />
<head>
<script src=" https://unpkg.com/leaflet@1.2.0/dist/leaflet.js "></script>
<link rel="stylesheet" href=" https://unpkg.com/leaflet@1.2.0/dist/leaflet.css" />
<script src="https://code.jquery.com/jquery-3.2.1.js" ></script>
<style>
#map {
width: 100%;
height: 600px;
box-shadow: 5px 5px 5px #888;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
var map = L.map('map').setView([0, 0], 2);
var owsrootUrl = 'http://localhost:8080/geoserver/ows?';
var defaultParameters = {
service: 'WFS',
version: '1.1.0',
request: 'GetFeature',
typeName: 'webalani:il',
outputFormat: 'application/json',
};
var parameters = L.Util.extend(defaultParameters);
var URL = owsrootUrl + L.Util.getParamString(parameters);
$.ajax({
url: URL,
success: function (data) {
var geojson = new L.geoJson(data, {
style: {"color":"#2ECCFA","weight":2},
}
).addTo(map);
}
});
</script>
</body>
</html>
您正试图通过双击磁盘上的文件位置直接 运行 您的传单文件。这将不起作用,因为您使用的 AJAX 方法需要使用网络服务器。
确保您在浏览器栏中看到的是 http://localhost....
而不是 file://.....
,这样一切都会好起来的。