我一直在尝试使用mbtiles-php脚本从.mbtiles文件解析并加载tile,但没有取得多大成功。遵循存储库站点上的说明。
在.htaccess和tileserver.php所在的文件夹上安装了一个foo.mbtiles文件。另外,这就是我加载瓷砖的方式:
var map = $(window).load(function() {
L.mapbox.map('map', './tiles/foo.mbtiles')
.setView([74.2343, -54.43534], 14);
});
由于L.mapbox.map不解析.mbtiles,因此更改为L.tileLayer。这是新代码:
$(window).load(function() {
var map = L.map('map').setView([74.2343, -54.43534], 14);
L.tileLayer('./tiles/foo.mbtiles/{z}/{x}/{y}.png', {
maxZoom: 19
}).addTo(map);
});
我现在在我的控制台上获得了其中的几个:
Failed to load resource: the server responded with a status of 404 (Not Found)
http://43.000.00.0/tiles/foo.mbtiles/13/3888/3139.png
我的服务器上禁用了.htaccess使用情况。启用后,我现在变为空白tiles
答案 0 :(得分:0)
L.mapbox.map
的第二个参数接受四个内容之一:Mapbox.com Map ID,逗号分隔的Mapbox.com ID列表,TileJSON url或TileJSON对象。您没有传递任何这些,而是传递给MBTiles文件的位置。
如果您要从PHP服务器的MBTiles文件中提供磁贴,您应该添加L.tileLayer('http://$MY_LOCAL_SERVER_LOCATION/{z}/{x}/{y}.png').addTo(map);
http
这显然取决于您当地的PHP配置。
答案 1 :(得分:0)
以下代码似乎与 Leaflet :
一起使用$(window).load(function() {
var map = L.map('map').setView([74.2343, -54.43534]);
L.tileLayer('./tiles/foo/{z}/{x}/{y}.png', {
maxZoom: 15
}).addTo(map);
});
必须在您的服务器上启用PDO和GD,以及.htaccess