如何使用 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://.....,这样一切都会好起来的。