0

我正在尝试将基于教程的矢量图块(由 shapefile 生成)与我从 openmaptiles 下载的另一个特定国家/地区的 mbtile 文件结合起来。我将 mbtiles 托管在本地 tileserver 中,该服务器位于 vagrant 机器中。我将它们显示在使用 OL3 的映射客户端上。通过使用以下参数来定义源,我可以毫无问题地显示第二个 mbtile(带有国家/地区的那个):

"data_vector":{
    "type": "vector",
    "tiles": [
      "http://localhost:8080/data/v3/{z}/{x}/{y}.pbf"]
  }

我想用另一个 mbtile 文件添加另一个源。根据教程,我可以通过添加一个源来组合 mbtile 文件。我通过执行以下操作进行了尝试:

"mymaptiles": {
      "type": "vector",
      "url": "mbtiles:///Users/dkar/workspaces/other/workshops/osmfoundation_workshop/opt/maps/wld_poi_warehouses_wfp.mbtiles"
  }

但是当我尝试从浏览器访问地图时,出现以下错误:

TileJSON.js:85 Failed to load mbtiles:///Users/dkar/workspaces/other/workshops/osmfoundation_workshop/opt/maps/wld_poi_warehouses_wfp.mbtiles: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

这是使它工作的正确方法吗?如果是,我如何让mbtile出现在地图上?

4

1 回答 1

1

据我所知,您的问题是您需要在以下位置制作自定义mbtile:///Users/dkar/workspaces/other/workshops/osmfoundation_workshop/opt/maps/wld_poi_warehouses_wfp.mbtiles在网络服务器上可用。您的浏览器不允许您访问本地文件存储。

于 2018-09-29T06:40:58.803 回答