reactjs - 无法使用 XYZ 瓷砖居中地图
问题描述
我使用 gdal2tiles 命令行工具将图像切成 XYZ 切片。地图加载正常,所有预期的图块都处于工作状态,但是有两个问题(可能相关):
- {z}/{x}/{y} 格式正在向不存在的图块发出一堆请求。
- 我似乎无法准确地将地图或其范围居中(这样我就可以防止从地图上平移)。
我试图首先使用 fit() 以便地图完全可见,然后 on('change:resolution') 更新范围以防止平移超出地图边缘(目前不工作)
代码大约有 200 行,所以我会在下面留下链接
我尝试设置一个 JSFiddle,但无法让它工作。或者,您可以查看现场演示或克隆 repo,这应该可以正常工作。
现场演示:https : //dndiaries.netlify.com/faerun 回购:https ://gitlab.com/heartofcode/swamptrek
没有错误消息,但“中心”不在渲染地图的中心
解决方案
您的地图设置为浏览器窗口的 100% 宽度和高度。您正在调用不存在的图块,因为它试图平铺整个地图并试图抓取您已删除的图块。尝试在图层上设置范围,而不是在地图上设置不调用您想要的位置之外的范围。您也无法将占据整个空间的地图居中。瓷砖被放置在它们应该去的地方,您可以调整地图的高度和宽度以适应它们,然后将其居中。或者在“更改:分辨率”上更改地图 div 大小而不是范围,您还可以更新缩放级别以确保地图在更改大小时没有空白。如果您不希望用户四处移动,您还可以关闭(设置为 false)交互和控件,例如拖动和缩放。
推荐阅读
- javascript - 错误:没有指定默认引擎,也没有提供扩展。(以 Express 为框架)
- php - 是否可以将此 curl 命令转换为 PHP?
- reactjs - 未捕获的类型错误:exitFunction 不是一个函数,即使它是从另一个方法成功调用的
- r - 从任何 R 实例(RStudio、终端、Visual Studio Code)调用 x11() 时出错
- html - div对齐CSS问题
- sql-insert - 如何在 sqlcl 中添加多行?
- django - 如何在 django 模型中过滤文本字段
- python - 柯里化 lambda 表达式是如何工作的?
- curve-fitting - 如何找到两个组合函数的最小二乘拟合
- google-cloud-sql - 一种自动编写脚本以在 gcp 中启动和停止 sql 数据库的方法