我有一个嵌入了传单地图的网页。我设法为用户创建了一个下拉菜单,以从 Maptiler.com 中选择不同的地图类型。这可以很好地使用 maptile 地址作为视图中的上下文传递,然后在我的模板中指定如下:-
L.tileLayer('{{ context.maptileaddress }}', {attribution: '<a href="https://www.maptiler.com/copyright/" target="_blank">© MapTiler</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap contributors</a>',}).addTo(map);
然后我决定我可能想使用其他 maptile 提供程序,例如 Stamen,这需要我传递整个 tilelayer 参数,如下所示:-
L.tileLayer('{{ context.maptilefullkey }}).addTo(map);
其中一个有效的“maptilefullkey”是:-
'https://stamen-tiles-{s}.a.ssl.fastly.net/toner/{z}/{x}/{y}.{ext}', {
attribution: 'Map tiles by <a href="http://stamen.com">Stamen Design</a>, <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> — Map data © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
subdomains: 'abcd',
minZoom: 1,
maxZoom: 18,
ext: 'png'
}
当我将此文本逐字嵌入到 tileLayer 方法中时,maptile 显示得很好 - 请参阅我的打印。
当它被硬编码到 tileLayer() 方法中时,maptile 工作正常
还可以看到我已经成功传递
{{ context.maptilefullkey }}
给模板,并且成功打印在了网页的底部。它显然与有效密钥完全匹配。
但是当我将它作为变量传递时L.tileLayer({{ context.maptilefullkey }}).addTo(map);
,maptile 完全消失了。
为什么会发生这种情况,我该如何解决?
字符串以大括号结尾,然后在关闭上下文的双大括号之前是否会产生问题?或者是导致问题的归因?
非常感谢这个社区的帮助!
菲尔#anoobinneed