gpt4 book ai didi

javascript - Mapbox 传单 setLayoutProperty

转载 作者:太空宇宙 更新时间:2023-11-04 15:37:48 25 4
gpt4 key购买 nike

我正在尝试将所有标签的语言设置为德语。到目前为止,我尝试了一些方法,但都得到了一张空白 map 。我尝试了一些方法,包括:

var language = "de";
var map = L.mapbox.map('map', 'mapbox.places', {worldCopyJump: true})
.setView([51.163375,10.447683], 6)
.addControl(L.mapbox.geocoderControl('mapbox.places', {
autocomplete: true,
keepOpen: true
}));

map.setLayoutProperty('country-label-lg', 'text-field', '{name_' + language + '}');
map.setLayoutProperty('country-label-md', 'text-field', '{name_' + language + '}');
map.setLayoutProperty('country-label-sm', 'text-field', '{name_' + language + '}');

和:

var language = "de";
var map = L.mapbox.map('map', 'mapbox.places', {worldCopyJump: true})
.setView([51.163375,10.447683], 6)
.setLayoutProperty('country-label-lg', 'text-field', '{name_' + language + '}')
.setLayoutProperty('country-label-md', 'text-field', '{name_' + language + '}')
.setLayoutProperty('country-label-sm', 'text-field', '{name_' + language + '}')
.addControl(L.mapbox.geocoderControl('mapbox.places', {
autocomplete: true,
keepOpen: true
}));

还自定义了样式和图层,但它们都破坏了 map 。

在 gl 的文档中是一个示例( https://www.mapbox.com/mapbox-gl-js/example/language-switch/ ) 关于如何使用一些按钮更改 onclick 语言,我认为它与我的代码不会有什么不同。

document.getElementById('buttons').addEventListener('click', function(event) {
var language = event.target.id.substr('button-'.length);
// Use setLayoutProperty to set the value of a layout property in a style layer.
// The three arguments are the id of the layer, the name of the layout property,
// and the new property value.
map.setLayoutProperty('country-label-lg', 'text-field', '{name_' + language + '}');
});

最佳答案

您使用的是mapbox-js而不是mapbox-gl-js。因此您应该使用正确的文档:https://www.mapbox.com/mapbox.js/api/v3.1.1/在那里你可以看到mapbox-js没有像mapbox-gl-js那样的setLayoutProperty方法。所以你所尝试的永远不会成功。

关于javascript - Mapbox 传单 setLayoutProperty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44159161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com