如何从 .mbtiles 解析和加载图块?
How to parse and load tiles from .mbtiles?
我一直在尝试使用 mbtiles-php 脚本从 .mbtiles 文件中解析和加载图块,但没有成功。按照存储库站点上的说明进行操作。
在与 .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
L.mapbox.map
的第二个参数接受以下四种情况之一:Mapbox.com 地图 ID、Mapbox.com ID 的逗号分隔列表、TileJSON url 或一个 TileJSON 对象。您传递的是其中的 none,但传递的是 MBTiles 文件的位置。
如果您要从 PHP 服务器的 MBTiles 文件中提供图块,您应该添加一个 l.tileLayer
,例如 L.tileLayer('http://$MY_LOCAL_SERVER_LOCATION/{z}/{x}/{y}.png').addTo(map);
这显然取决于您的本地 PHP 配置。
以下代码似乎适用于 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
我一直在尝试使用 mbtiles-php 脚本从 .mbtiles 文件中解析和加载图块,但没有成功。按照存储库站点上的说明进行操作。
在与 .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
L.mapbox.map
的第二个参数接受以下四种情况之一:Mapbox.com 地图 ID、Mapbox.com ID 的逗号分隔列表、TileJSON url 或一个 TileJSON 对象。您传递的是其中的 none,但传递的是 MBTiles 文件的位置。
如果您要从 PHP 服务器的 MBTiles 文件中提供图块,您应该添加一个 l.tileLayer
,例如 L.tileLayer('http://$MY_LOCAL_SERVER_LOCATION/{z}/{x}/{y}.png').addTo(map);
这显然取决于您的本地 PHP 配置。
以下代码似乎适用于 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