带有地图框的传单-设置默认语言



我是传单/mapbox的新手,我正在努力研究如何将自定义样式应用于地图。

我按照这里的指示(https://leafletjs.com/examples/quick-start/)并且可以用英语展示地图。

var mymap = L.map('mapid').setView([51.505, -0.09], 13);
L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
maxZoom: 18,
id: 'mapbox/streets-v11',
tileSize: 512,
zoomOffset: -1,
accessToken: 'your.mapbox.access.token'
}).addTo(mymap);

现在我打算把语言改成日语。为此,我去了mapbox工作室,并参考了这条指示创建了自己的风格(https://docs.mapbox.com/help/troubleshooting/change-language/)。现在我有了自己的风格URL(mapbox://styles/[username]/[mystyleid](,并准备用日语设置地图。

这里的问题是如何在映射的初始化过程中实际应用样式URL。我在堆栈溢出中查看了过去的文章,并尝试了几个代码,但都没有成功。请参阅下面我尝试过的内容:

var mymap = L.map('mapid').setView([51.505, -0.09], 13);
L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
maxZoom: 18,
id: 'mapbox/streets-v11',
tileSize: 512,
zoomOffset: -1,
accessToken: 'your.mapbox.access.token'
}).styleLayer('mapbox://styles/[username]/[mystyleid]').addTo(mymap);

错误消息为"L.tileLayer(…(.styleLayer不是函数"。我也尝试过以下操作,但说"TypeError:L.map(…(.setView(…(.styleLayer不是函数"无效

var mymap = L.map('mapid').setView([51.505, -0.09], 13).styleLayer('mapbox://styles/mapbox://styles/[username]/[mystyleid]');
L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
maxZoom: 18,
id: 'mapbox/streets-v11',
tileSize: 512,
zoomOffset: -1,
accessToken: 'your.mapbox.access.token'
}).addTo(mymap);

有人能告诉我将我自己的风格URL应用到tileLayer的确切代码吗?

提前谢谢。

传单不支持styleLayer功能

我认为你必须使用你的id,而不是默认的mapbox id:

var mymap = L.map('mapid').setView([51.505, -0.09], 13);
L.tileLayer('https://api.mapbox.com/styles/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
maxZoom: 18,
id: '[username]/[mystyleid]',
tileSize: 512,
zoomOffset: -1,
accessToken: 'your.mapbox.access.token'
}).addTo(mymap);

最新更新