学习mapbox之设置搜索器和把地图元素变成中文

<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8' />
    <title>添加地理编码器</title>
    <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
    <script src='https://api.tiles.mapbox.com/mapbox-gl-js/v1.1.1/mapbox-gl.js'></script>
    <link href='https://api.tiles.mapbox.com/mapbox-gl-js/v1.1.1/mapbox-gl.css' rel='stylesheet' />
    <style>
        body { margin:0; padding:0; }
        #map { position:absolute; top:0; bottom:0; width:100%; }
    </style>
</head>
<body>
<!-- 搜索器 -->
<script src='https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v4.3.0/mapbox-gl-geocoder.min.js'></script>
<!-- 搜索器css -->
<link rel='stylesheet' href='https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v4.3.0/mapbox-gl-geocoder.css' type='text/css' />
<!-- 语言 -->
<script src='https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-language/v0.9.2/mapbox-gl-language.js'></script>  /
<div id='map'></div>

<!-- 导航 -->
<script src='https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-directions/v4.0.0/mapbox-gl-directions.js'></script>
<!-- 导航css -->
<link rel='stylesheet' href='https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-directions/v4.0.0/mapbox-gl-directions.css' type='text/css' />

<script>
mapboxgl.accessToken = 'pk.eyJ1IjoiYmxsbGluZyIsImEiOiJja2VhcXNwZmowMWg3MnpwMHplZTdpd2xmIn0.kEe4DzZnL2drZq19fA268w';



var map = new mapboxgl.Map({
    container: 'map',
    // 换成v11就不能转换成中文了
    style: 'mapbox://styles/mapbox/streets-v10',
    center: [116.4512, 26.6568],
    minZoom: 2,
    zoom: 3
});


mapboxgl.setRTLTextPlugin('https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.1.0/mapbox-gl-rtl-text.js');
map.addControl(new MapboxLanguage({defaultLanguage: 'zh'}));

// 导航
map.addControl(new MapboxDirections({
accessToken: mapboxgl.accessToken
}), 'top-left');

// 搜索框,发现和导航共用css的样式会乱
map.addControl(new MapboxGeocoder({
    accessToken: mapboxgl.accessToken,
    mapboxgl: mapboxgl
}));


</script>

</body>
</html>
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Mapbox设置中文,您可以按照以下步骤进行操作: 1. 首先,确保您使用的是支持中文地图数据的Mapbox地图样式。您可以在Mapbox Studio中创建自定义地图样式,或者使用Mapbox提供的预定义地图样式。 2. 在Mapbox Studio或使用Mapbox GL JS进行开发时,您需要为地图添加一个中文字体。Mapbox默认使用的是英文字体,因此您需要手动添加中文字体以支持中文显示。 - 在Mapbox Studio中,您可以通过选择"添加资源"->"添加字体"来添加自定义字体。选择一个支持中文的字体文件(如.ttf或.otf格式),并将其上传到Mapbox Studio中。 - 在Mapbox GL JS中,您可以使用`map.addSource`和`map.addLayer`方法来添加一个自定义的字体源和图层。具体可参考Mapbox GL JS的文档。 3. 将地图样式的语言设置中文。在Mapbox Studio或使用Mapbox GL JS时,您可以通过将`style`或`language`选项设置为"zh-Hans"来指定地图样式的语言为简体中文。示例代码如下: ```javascript // 在 Mapbox GL JS 中设置地图样式的语言为中文 var map = new mapboxgl.Map({ container: 'map', style: 'mapbox://styles/mapbox/streets-v11', language: 'zh-Hans' // 设置语言为简体中文 }); ``` 4. 在Mapbox Studio中,您还可以自定义地图样式的标签和道路颜色等属性,以满足中文地图的需求。您可以在"样式"选项卡中修改相应的设置。 通过按照上述步骤设置,您应该能够在Mapbox中显示中文地图了。请注意,确保使用的地图数据源支持中文标注和地点名称才能正常显示中文

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值