其他
Mapbox 一分钟 | 为地图标注文字的 5 种超级实用策略
这是「Mapbox 一分钟」的第一篇文章,希望让你快速了解 Mapbox 的巧功能
这篇文章我们将以日本地图为例,一起盘点下 5 种实用的制图策略,为地图或可视化效果添加我们喜欢的制图效果吧!
策略一:非拉丁文 CJK 字形的 GL 渲染
CJK 字形,顾名思义就是中文、日文、韩文。它们均属于非拉丁文,开源的 Mapbox GL JS 和 GL Native 已经支持非拉丁字符和地名完全和清晰地呈现,比如下面几个例子。
策略二:支持全球地图语言统一
如果你在使用日语地图,那么无论看到世界上任何一个角落,都可以保证语言的统一。
我们支持的语言类型如这张表格所示。
如果你想了解怎么使用,可以参考这篇博文。
策略三:支持在一张图上显示双语的富文本功能
正如我们曾经介绍过,想要同时展示两种语言,可以参考下面的代码:
map.setLayoutProperty(layer, 'text-field', ['format',
['get', 'name_ja'], { 'font-scale': 1.2 },
'\n', {},
['get', 'name_en'], {
'font-scale': 0.8
}
]);
策略四:CJK 的本地字形生成
使用 CJK 文本的本地字形、而不是嵌入字体可以显著提高地图的性能。使用 CJK 字形可以帮助我们避免远程加载字体,并默认使用已经在用户手机或计算机上的本地字体。
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v9',
center: [120.3049, 31.4751],
zoom: 12,
localIdeographFontFamily: "'Noto Sans', 'Noto Sans CJK SC', sans-serif"
});
策略五:行标签上CJK文本的垂直布局
在为道路或其他基于线的要素设计标签时,您可以沿着路径垂直显示文本。
本期 Mapbox 一分钟就到这里啦,下一期你希望看到什么内容呢?扫描下方二维码告诉 Max 吧。