使用LeafletJS在Openstreetmap中将地图语言设置为英语

Joh*_*hnP 27 openstreetmap leaflet

我正在使用LeafletJS将地图组件添加到我的应用程序中.除了地图的本地化,一切都很好,花花公子.一些国家名称以当地语言显示(我假设).

有没有办法用英文显示国家/地区名称?

在此输入图像描述

这是我使用的当前代码

L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
                attribution : '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors',
                noWrap      : true 
}).addTo(map);
Run Code Online (Sandbox Code Playgroud)

sca*_*cai 16

OSM的标准磁贴服务器尝试在可用时显示本地语言的标签(本地意味着当前显示的国家/ 地区的语言,而不是您的本地语言).该由砖服务器提供服务,已经包含了标签,所以你不能事后删除它们.但是你可以:

并始终记住遵守您选择的磁贴服务器的磁贴使用策略.

  • 我去了openquest.对于任何有相同问题的人,这里有一个方便的瓷砖服务器列表 - https://gist.github.com/mourner/1804938 (4认同)

小智 10

您需要做的就是使用底图而不是 openstreetmap

const mainLayer = L.tileLayer('https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}.png', {
  minZoom: 3,
  maxZoom: 17,
  attribution: '&copy; <a href="https://carto.com/">carto.com</a> contributors'
});
mainLayer.addTo(this.map);
Run Code Online (Sandbox Code Playgroud)


小智 6

对于德语

您可以使用这个德国瓷砖服务器:https://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png

L.tileLayer('https://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png', {
  ...
})
...
Run Code Online (Sandbox Code Playgroud)