0

我有这个 TileJSON 文件:

{
    "tilejson": "1.0.0",
    "bounds": [ -6.6028, 49.689, 1.9446, 55.943 ],
    "center": [ -1.7029, 52.703, 6 ],
    "minzoom": 6,
    "maxzoom": 15,
    "version": "1.0.0",
    "tiles": [
        "http://localhost:8081/data/oa_belonging_tiles/{z}/{x}/{y}.png"
    ]
}

我正在使用以下代码创建地图:

<script type="text/javascript">

    wax.tilejson('data/oa_belonging_tiles/metadata.json',
            function(tilejson) {
                var map = new L.Map('map-div')
                        .addLayer(new wax.leaf.connector(tilejson))
                        .setView(new L.LatLng(51, 0), 1);
                wax.leaf.legend(map, tilejson).appendTo(map._container);
            });
</script>

当我在浏览器中执行脚本时,出现以下错误:

Uncaught SyntaxError: Unexpected token : metadata.json:2

我遵循了 TileJSON 规范,并且在文件中没有发现拼写错误/其他问题。我清除了浏览器缓存,并且我 100% 确定我正在加载正确的文件。我已经尝试删除一些键/值,但问题仍然存在。

我将不胜感激有关如何在本地加载瓷砖的任何建议。

4

2 回答 2

0

我已经通过将 tilejson 存储在变量中来使其工作。它现在加载瓷砖没有任何问题:

var tilejson = {
        bounds: [-6.6028, 49.689, 1.9446, 55.943 ],
        center: [-1.7029, 52.703, 6],
        maxzoom: 15,
        minzoom: 6,
        scheme: "xyz",
        tilejson: "2.0.0",
        tiles: ["http://localhost:8081/data/oa_belonging_tiles/{z}/{x}/{y}.png"],
        version: "1.0.0"
    };

var map = new L.Map('map')
        .addLayer(new wax.leaf.connector(tilejson))
        .setView(new L.LatLng(53, -1.7), 6);
于 2013-08-09T15:21:41.267 回答
0

如果您不反对使用https://www.mapbox.com/,您可以提供更多的平铺选项。我遇到了类似的问题,请参阅下面的代码片段,了解如何替换整个 tilejson 对象。这是 mapbox 的工作原理https://www.mapbox.com/guides/how-mapbox-works/

编辑:当然,就像我一样,仍然使用传单。还使用了蜡连接器的更新版本。http://www.geosprocket.com/mapbox-wax/manual/index.html#downloads

//HTML

     <div id="map"></div>

JS 脚本

     L.mapbox.accessToken = 'token';
var map = L.mapbox.map('map','yourmapid')
    .setView([yourlocation], 15);
于 2015-08-28T16:28:39.887 回答