使用MapBox自定义地图

一、什么是MapBox,相对国内地图厂商的优势

MapBox是一家美国的地图厂商,2010 年成立于美国华盛顿,2017 年获得软银 1.64 亿美元 C 轮融资,完全开源的开发工具,帮助您在现有产品中实现灵活、轻量、稳定的地图、搜索、导航等位置功能的无缝添加。
因为完全开源所以你可以使用它做自己的地图,而不是像国内厂商一样只能使用厂商配置好的地图。比方说一些产业园区在百度或高德地图中没有显示内部道路,如果这时候有这个显示需求就得借助瓦片或者使用mapbox自己绘制地图了。

二、自定义地图需要做些什么

这里所说的自定义地图不是说自定义地图样式即颜色搭配而是自己绘制道路建筑物等内容

1.准备经纬度数据集合

这里我自己准备了一些经纬度点集合,然后对这些数据进行加工处理,需要符合mapbox对经纬度点集合的要求格式,即xx.geojson的格式
如:

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [125.6, 10.1]
  },
  "properties": {
    "name": "Dinagat Islands"
  }
}

其中type字段可以不用理会,geometry定义了点集合的特征类型,properties字段定义了这部分点集合的名称,可以理解为道路的名称什么的,geometry字段中的type定义了coordinates点集合表示什么,type的可选字段有Point、LineString、Polygon、MultiPoint、MultiLineString和MultiPolygon(分别是点,线,多边形等)关于geojson的更多格式说明可以参阅https://www.oschina.net/translate/geojson-spec

2.导入已经处理的经纬度xxx.geojson格式数据

进入MapBox的Studio页面点击右上角的Datasets选项然后点击New dataset导入处理好的数据,建立数据底图。

这我自己创建的底图
这简单创建的地图底图。

3.创建地图样式并添加底图

在Mapbox的Studio首页点击New style创建地图样式,然后进入工作页面在左侧的控制面板中选中Layer点击“+”添加图层数据选择你之前创建的底图数据即可
然后底图就覆盖在地图上
在这里插入图片描述
这样就可以看到之前创建的线条在地图上,这些线条就是道路,这里还没有设置线条的宽度和样式。
在导入数据时可以选择type,第一次选择type为Line即为道路,第二次导入数据选择type为Symbol即为字符就是道路的名称,然后设置Line的样式和Symbol的样式,就完成了道路的简单绘制
在这里插入图片描述
这就是完成的效果,在缩放的时候和正常的地图一样,道路名称也会发生缩放,也可以自己设置缩放等级什么的。
好,现在就完成了简单的自定义地图绘制。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值