查看原文
其他

Mapbox 一分钟 | 为地图标注文字的 5 种超级实用策略

Mapbox 2019-06-01


这是「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 吧。


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存