Openlayers 如何处理TileMill和Mapbox的Mbutil导出
大家好。我只是想弄清楚如何使用我的mbtile目录导出。我的文件位于本地目录“/mytiles”中。如何将其配置为使用自定义图层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
<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主机提供的数据来完成这项工作。我错过了什么?