【问题标题】:Can't Center Map with XYZ Tiles无法使用 XYZ 瓷砖居中地图
【发布时间】:2019-07-10 00:06:27
【问题描述】:

我使用 gdal2tiles 命令行工具将图像切成 XYZ 切片。地图加载正常,所有预期的图块都处于正常工作状态,但是有两个问题(可能相关):

  1. {z}/{x}/{y} 格式正在向不存在的图块发出一堆请求。
  2. 我似乎无法准确地将地图或其范围居中(这样我可以防止从地图上平移)。

我尝试首先使用 fit() 以使地图完全可见,然后 on('change:resolution') 更新范围以防止平移超出地图边缘(目前不工作)

代码大约有 200 行,所以我会在下面留下链接

我尝试设置 JSFiddle,但无法正常工作。或者,您可以查看现场演示或克隆 repo,应该可以正常工作。

现场演示:https://dndiaries.netlify.com/faerun 回购:https://gitlab.com/heartofcode/swamptrek

没有错误消息,但“中心”偏离了渲染地图的中心

【问题讨论】:

    标签: reactjs openlayers openlayers-5


    【解决方案1】:

    您的地图设置为浏览器窗口的 100% 宽度和高度。您正在调用不存在的图块,因为它试图平铺整个地图并试图抓取您已删除的图块。尝试在图层上设置范围,而不是在地图上设置不调用您想要的位置之外的范围。 您也无法将占据整个空间的地图居中。瓷砖被放置在它们应该去的地方,您可以调整地图的高度和宽度以适合它们,然后将其居中。或者在“更改:分辨率”上更改地图 div 大小而不是范围,您还可以更新缩放级别以确保地图在更改大小时没有空白。 如果您不希望用户四处移动,您还可以关闭(设置为 false)交互和控件,例如拖动和缩放。

    【讨论】:

    • 嗯。我没有故意删除任何图块,gdal2tiles 脚本只是渲染了一堆空白空间,我不太确定为什么我要继续测试你在这里提出的一些想法,希望有些工作出来,我可以将其标记为已接受
    猜你喜欢
    • 2017-08-18
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    相关资源
    最近更新 更多