我mbtiles
使用 Tippecanoe 生成了一个带有 just-zg
和--drop-densest-as-needed
as 额外参数的文件。我将文件上传到 Mapbox Studio,一切正常,无论是在 Studio 中还是在通过移动应用程序加载图块时。
然后,我在 Go 中使用非常基本的 HTTP 服务器尝试了自行托管磁贴的运气。切片从 SQLite 转移到 PostgreSQL 数据库(原因是 Go + PSQL 是应用程序的现有堆栈)。
出于某种原因,功能会根据缩放级别进行移动。在第 1 级,应该在美国的数据在南极,在缩放级别 2 时,它在智利海岸附近,等等。唯一正常工作的是 0 级,因为只有一个图块。
我检查了 Mapbox 在旧金山时为缩放级别 11 请求的图块:第 327 列,第 791 行。.mbtiles
文件中不存在此行/列组合的图块,尽管那里有数据。
除了使用 z/x/y 在数据库中查找 mbtile 之外,还有其他事情要做吗?或者也许是在应用程序端配置的东西?
服务器代码:
row := db.QueryRow(`
SELECT tile_data FROM tiles
WHERE
zoom_level = $1
AND tile_column = $2
AND tile_row = $3
`,
z, x, y,
)
在安卓上:
map.addSource(
VectorSource(
"tiles",
TileSet("2.2.0", "http://my.local.server:4000/tiles/{z}/{x}/{y}.mvt?key=2448A697EACDDC41432AAD9A1833E")
)
)
我尝试设置VectorSource
'scenter
并bounds
在mbtiles
元数据中找到,但它没有改变任何东西。