mapbox-gl,mapbox gl js

  mapbox-gl,mapbox gl js

  本文主要介绍一个mapboxgl开箱即用的地图引擎库,有需要的朋友可以参考一下。希望能有所帮助。祝大家进步很大,早日升职加薪。

  :

目录

   1.地图、地图或地图2。什么是mapbox-gl?三。如何安装?基本用途:绘制地图。倾斜视角VII。旋转,跳跃,说唱。

  

一、地图、地图、还是地图

  你总是需要一张地图,因为它太直观了。

  Ned是一名前端开发人员,在一家有To C业务的公司工作。这一天,产品经理提出了一个需求:

  “来一张地图,把我们所有的客户都放在上面,这样我们就能一眼看出谁在用我们的APP!”

  从未做过地图的奈德茫然地点点头,开始进行技术筛选。然后他才发现,一张小小的地图竟然有这么多的门道!

  瓦片服务商包括:天空地图、百度地图、高德地图等。

  地图引擎包括openlayers、铯等。

  如果要在地图上加载三维模型,可能他得懂一些three.js之类的技术.

  那么,有没有既开箱即用,又有可观的拓展性的方案呢?

  当然也有,比如:mapbox-gl。

  

二、什么是 mapbox-gl?

  在说这个问题之前,我们首先要搞清楚什么是mapbox。

  首先,这是一家企业,提供地图服务和解决方案。你几乎可以把它当成“百度地图”来提供。

  同时提供了基于WebGL的开源地图引擎:mapbox-gl。

  地图框-GL NPM js:www.npmjs.com/package/map…

  地图盒子-GL github:github.com/mapbox/mapb…

  使用mapbox-gl,可以像openlayers一样加载各种来源的地图,包括mapbox本身提供的瓦片来源,百度地图等瓦片来源。

  同时也是mapbox GL生态的重要组成部分。

  

三、如何安装

  纱线添加地图框-gl

  

四、基础使用:渲染地图

  以mapbox本身的瓦片源为例。

  首先在mapbox官网注册账号,获取一个accessToken。(为避嫌,此处不赘述)

  如果您在vue3项目中,您可以使用以下代码来呈现它:index.vue

  模板

  div id=map/div

  /模板

  脚本设置

  从“vue”导入{ onMounted,reactive,ref };

  从“mapbox-gl”导入mapboxgl

  onMounted(()={

  Mapboxgl.accessToken=`您的accessToken。

  const map=新mapboxgl。地图({

  容器:“地图”,

   style: map box://styles/map box/streets-v11 ,

  中心:[0,0],

  缩放:0.6,

  投影:“自然地球”//开始投影

  });

  })

  /脚本

  一张简单的世界地图是这样显示的:一张简单明了的世界地图:

  

五、在地图上渲染区域

  众所周知,地图上用来描述区域的格式叫做geojson,其本质是通过多个点的集合来描述一个多边形。

  现在,我通过各种人工手段获得了一个湖泊的多边形图案。要怎么做才能在地图上画出来?

  很简单:添加以下代码:

  map.on(load ,function () {

  rotate camera(0);

  map.addLayer({

  id :缅因州,

  类型:填充,

  来源:{

  键入: geojson ,

  数据:湖GeoJson //湖的GeoJson

  },

  布局“:{},

  油漆:{

  填充颜色: #17b1ee ,

  填充-不透明度:0.8,

  }

  });

  (当然,别忘了在geojson中选择地图的中心作为点)

  效果如下:

  途中的蓝色多边形是geojson画的湖。

  

六、倾斜视角

  90度垂直视角太死板,但提供多角度渲染是mapbox-gl的专长。

  只需要一行代码:

  const map=新mapboxgl。地图({

  //.其他配置保持不变。

  Pitch: 60,//加这行

  });

  整个画面突然有了质的提升!

  

七、旋转、跳跃、以及 Rap

  无声画面单调,无强迫感的甲方也这么认为。

  所以甲方经常提出“让地图动起来”的合理需求。

  这在mapbox-gl中非常容易。

  添加以下代码:

  函数rotateCamera(时间戳){

  map.rotateTo((时间戳/360) % 360,{ duration:0 });

  requestAnimationFrame(rotate camera);

  }

  map.on(load ,function () {

  rotate camera(0);

  })

  画面动起来很轻松!

  以上是mapbox gl开箱即用地图引擎库的详细介绍。更多关于mapbox gl地图引擎库的信息,请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: