Openlayers 如何处理TileMill和Mapbox的Mbutil导出

Openlayers 如何处理TileMill和Mapbox的Mbutil导出,openlayers,Openlayers,大家好。我只是想弄清楚如何使用我的mbtile目录导出。我的文件位于本地目录“/mytiles”中。如何将其配置为使用自定义图层 <head> <script src="http://www.openlayers.org/dev/OpenLayers.js"></script> <script type="text/javascript"> var map; OpenLayers.IMAGE_RELOA

大家好。我只是想弄清楚如何使用我的mbtile目录导出。我的文件位于本地目录“/mytiles”中。如何将其配置为使用自定义图层

  <head>
    <script src="http://www.openlayers.org/dev/OpenLayers.js"></script>
    <script type="text/javascript">

      var map;
      OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
      OpenLayers.ImgPath = "http://js.mapbox.com/theme/dark/";
      function init(){

        // Customize the values below to change the tileset.
        // This information is available on each tileset page.
        var layername = 'world-light';
        var file_extension = 'png';

        // Build the map
        var options = {
          projection: new OpenLayers.Projection("EPSG:900913"),
          displayProjection: new OpenLayers.Projection("EPSG:4326"),
          units: "m",
          numZoomLevels: 12,
          maxResolution: 156543.0339,
          maxExtent: new OpenLayers.Bounds(
            -20037500,
            -20037500,
            20037500,
            20037500
          )
        };
        map = new OpenLayers.Map('map', options);

        // Layer definitions
        var layer = new OpenLayers.Layer.TMS(
          "MapBox Layer",
          [ "http://a.tile.mapbox.com/","http://b.tile.mapbox.com/",
            "http://c.tile.mapbox.com/","http://d.tile.mapbox.com/" ],
          { 'layername': layername, 'type': file_extension }
        );

        // Add layers to the map
        map.addLayers([ layer ]);

        // Set the map's initial center point
        map.setCenter(new OpenLayers.LonLat(0, 0), 1);
      }

    </script>
  </head>
  <body onload="init()">
    <div id="map" style="width: 500px; height: 300px"></div>
  </body>

var映射;
OpenLayers.IMAGE\u重新加载\u尝试次数=3;
OpenLayers.ImgPath=”http://js.mapbox.com/theme/dark/";
函数init(){
//自定义以下值以更改瓷砖集。
//此信息可在每个tileset页面上找到。
var layername=‘世界之光’;
var file_扩展名='png';
//绘制地图
变量选项={
投影:新OpenLayers.projection(“EPSG:900913”),
displayProjection:new OpenLayers.Projection(“EPSG:4326”),
单位:“m”,
numZoomLevels:12,
最大分辨率:156543.0339,
maxExtent:新的OpenLayers.Bounds(
-20037500,
-20037500,
20037500,
20037500
)
};
map=newOpenLayers.map('map',选项);
//图层定义
var layer=新OpenLayers.layer.TMS(
“地图盒层”,
[ "http://a.tile.mapbox.com/","http://b.tile.mapbox.com/",
"http://c.tile.mapbox.com/","http://d.tile.mapbox.com/" ],
{'layername':layername,'type':文件扩展名}
);
//向地图添加图层
map.addLayers([layer]);
//设置贴图的初始中心点
设置中心(新OpenLayers.LonLat(0,0,1);
}

首先,请参阅包含
http://a.tile.mapbox.com/
。将其替换为计算机的主机名或本地名称-这可能是
http://localhost/
http://mycomputer.com/
等。然后用图层名称替换图层名称

由于这是一个TMS层,您需要创建一个名为
1.0.0
的目录,它将位于这两个东西之间-如果您的磁贴位于名为
mydirectory
的目录中,您需要将它们移动到那里。结果是
http://localhost/1.0.0/mydirectory

因此,如果互动程序的URL是
http://localhost/1.0.0/mydirectory/0/0/0.png
,您必须

var layer = new OpenLayers.Layer.TMS(
  "MapBox Layer",
  [ "http://localhost/" ],
  { 'layername': 'mydirectory', 'type': 'png' }
);

您可以查阅图层类型的完整文档。

按照您建议的方法执行此操作时遇到问题。我的印象是“layername”和“file_extension”是代码前面的变量。您已将“layername”变量替换为目录名。我很想利用我自己的tilestream主机提供的数据来完成这项工作。我错过了什么?