创建地图的代码:
这是正确创建地图的方法。现在,我正在尝试添加一个包含有关州数据的geopackage:https://biogeo.ucdavis.edu/data/gadm3.6/gpkg/gadm36_IND_gpkg.zip 当我使用教程代码将河流绘制到地图上时,它运行得很好:
而当我将这个状态地理包上传到地理包查看器https://ngageoint.github.io/geopackage-js/时,它可以正确绘制所有内容。然而,当我尝试在我的地图中实现相同的内容时,地图可以正常渲染,但州界线没有被绘制在地图上;以下代码甚至没有任何提示:
<div id="map" style="width: 1000px; height: 700px"></div>
<script>
var map = L.map('map').setView([0,0], 1);
L.tileLayer('https://api.mapbox.com/styles/v1/mapbox/streets-v10/tiles/{z}/{x}/{y}?access_token=pk.ey31IjoibnVtaW51czEiLCJhIjoiY2treTN3YzduekdwMDJubXNhMWNpemdicyJ9.McJEAeE0Jbj999Oz4pbsZg', {
attribution: '<a href="https://www.maptiler.com/copyright/" target="_blank">© MapTiler</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap contributors</a>'
}).addTo(map);
var marker = L.marker([18.52, 73.86]).addTo(map);
这是正确创建地图的方法。现在,我正在尝试添加一个包含有关州数据的geopackage:https://biogeo.ucdavis.edu/data/gadm3.6/gpkg/gadm36_IND_gpkg.zip 当我使用教程代码将河流绘制到地图上时,它运行得很好:
var rivers = L.geoPackageFeatureLayer([], {
geoPackageUrl: 'http://ngageoint.github.io/GeoPackage/examples/rivers.gpkg',
layerName: 'rivers',
style: {color: 'green'}
}).addTo(map);
L.geoJson(stateData).addTo(map);
而当我将这个状态地理包上传到地理包查看器https://ngageoint.github.io/geopackage-js/时,它可以正确绘制所有内容。然而,当我尝试在我的地图中实现相同的内容时,地图可以正常渲染,但州界线没有被绘制在地图上;以下代码甚至没有任何提示:
var stater = L.geoPackageFeatureLayer([], {
geoPackageUrl: 'assets/geospatial/gadm_states.gpkg',
layerName: 'stater',
style: {color: 'red'}
}).addTo(map);
我想可能是因为gpkg文件中有多个图层,我没有正确地指定其中一个,所以我从GeoPackage Viewer中下载了我需要的图层作为geojson文件,但那也不起作用。有人能解释一下出了什么问题吗?