目前,我正在做图形信息系统(GIS)的网络应用程序,允许用户上传他们的磁贴,如mbtile格式到系统,并查看磁贴在浏览器上使用mapbox。现在,我只是使用mapbox studio上传tileset并获取sytle,然后复制到代码中。我的问题是,在不使用mapbox studio的情况下,如何将mbtile文件上传到数据库并在浏览器的mapbox中查看
mapboxgl.accessToken = 'accesstoken';
var map = new mapboxgl.Map({
container: 'map', // container id
style: 'mapbox style', // stylesheet mapbox style
center: [100.2192660726069, 6.523753293936409], // starting position [lng, lat]
// pitch: 60, // pitch in degrees
// bearing: -60,
zoom: 16 // starting zoom]
});
发布于 2020-03-27 06:27:10
如果您的问题是如何在Mapbox Studio之外的浏览器中查看地图,您可以使用上面包含的代码片段,并在页面的<div id="map"></div>中创建一个容器div来显示地图。
如果您正在询问如何在不使用Mapbox Studio的情况下以编程方式上传MBTiles文件并将tileset添加到现有样式中,那么您将需要研究一下Uploads或Tilesets API和Styles API。
对于上传MBTiles文件,您可以使用Create an upload endpoint或Tilesets API。
要随后将上载的切片集添加到样式,可以使用Update a style endpoint或在运行时使用addLayer GL JS方法将其添加到地图。
https://stackoverflow.com/questions/59353276
复制相似问题