mapbox绘制航线图

mapbox绘制航线图mapbox 先上效果图再来一段官网描述 MapboxGLJS 是一个 JavaScript 库 它使用 WebGL 以 vectortiles 和 Mapboxstyles 为来源 将它们渲染成互动式地图 它是 MapboxGL 生态系统的一部分 其中还包括 MapboxMobile 它是一个用 C 编写的兼容桌面和移动平台的渲染引擎 P S mapbox 地图展示的大部分信息可以在地图样式里面配置 包括平常的河流 土地 天空等颜色 还有各种建筑是否显示地区名字 中英文等 代码

mapbox

再来一段官网描述:Mapbox GL JS 是一个 JavaScript 库,它使用 WebGL,以 vector tiles 和 Mapbox styles 为来源,将它们渲染成互动式地图。它是 Mapbox GL 生态系统的一部分,其中还包括 Mapbox Mobile,它是一个用 C++ 编写的兼容桌面和移动平台的渲染引擎。

P.S. mapbox地图展示的大部分信息可以在地图样式里面配置。包括平常的河流、土地、天空等颜色,还有各种建筑是否显示地区名字、中英文等。

代码

#map { 
    width: 100%; height: 1000px; } 
<script src='https://npmcdn.com/@turf/turf/turf.min.js'> 
     script> <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' /> <div id="map"> 
       div> 
 mapboxgl.accessToken = 'token'; // 设置token var map = new mapboxgl.Map({ 
    // 初始化 设置样式 地图中心 地图缩放 container: 'map', style: 'mapbox://styles/mapbox/dark-v10', center: [-122.414, 37.776], zoom: 3 }); map.on('load', function () { 
    // 地图加载完成 var s = [-122.414, 37.776]; var e = [116, 38.913]; var route = { 
    "id": "route", 'type': 'FeatureCollection', 'features': [ { 
    'type': 'Feature', 'geometry': { 
    'type': 'LineString', 'coordinates': [s, e] } } ] }; // 计算起点和终点之间的距离 var lineDistance = turf.lineDistance(route.features[0], 'kilometers'); var stepArr = []; var steps = 10; // 步数(帧)  for (var i = 1; i < lineDistance; i += lineDistance / steps) { 
    var lnglat = turf.along(route.features[0], i, 'kilometers'); stepArr.push(lnglat.geometry.coordinates); } map.addLayer({ 
    "id": "route", "type": "line", "source": { 
    "type": "geojson", "data": { 
    "type": "Feature", "properties": { 
   }, "geometry": { 
    "type": "LineString", "coordinates": stepArr } } }, "layout": { 
    "line-join": "round", "line-cap": "round", }, "paint": { 
    "line-color": "red", "line-width": 2, } }); }) 

上面代码可以复制直接使用 有分的同学可以两分支持一下 传送门

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220091.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午9:16
下一篇 2026年3月17日 下午9:16


相关推荐

  • flv.js 直播_前端视频播放插件

    flv.js 直播_前端视频播放插件关于使用flvjs文章目录关于使用flvjs1.创建2.事件处理3.踩到的坑1.创建HTML<videoid=”largeVideo”style=”width:100%;height:600px”class=”centeredVideo”controlsautoplaymutedwidth=”1015″

    2025年5月25日
    7
  • js实现删除页面元素

    js实现删除页面元素三种情况 删除元素自身 xxx remove xxx parentNode removeChild xxx 删除子元素 父 removeChild 子 删除父元素 xxx parentNode parentNode removeChild xxx 的父元素 divclass fatherBox style border 1pxsolidred 我是父盒子 divclass fatherBox style border 1pxsolidred

    2026年3月19日
    2
  • 蓝牙脂肪秤模块测量原理

    蓝牙脂肪秤模块原理跟普通电子体重秤的原理差不多,都是利用压力传感器及芯片设计完成功能的实现。蓝牙电子秤的外形和地面有四个接触点,四个接触点那里都放着一种压力传感器,压力传感器将人体的重量转换成电信号,后经过芯片设计完成处理器AD采样,再经过换算便可以得到人体的体重。蓝牙脂肪秤模块测量体脂是通过电阻抗法测量出来的,它的具体原理是由电极片发出微弱电流,与人体形成一个闭环,通过肌肉易导电,脂肪不导电的…

    2022年4月11日
    56
  • RDLC 报表打印

    RDLC 报表打印报表 rdlc 怎样直接打印 原帖地址 http bbs csdn net topics

    2026年3月19日
    0
  • 史上最全的中高级JAVA工程师-面试题汇总

    史上最全的中高级JAVA工程师-面试题汇总史上最全的java工程师面试题汇总,纯个人总结,精准无误。适合中高级JAVA工程师。

    2022年6月13日
    33
  • SpringBoot 项目中使用Log4j2详细(避坑)

    SpringBoot 项目中使用Log4j2详细(避坑)以下大部分内容转载整理自 https blog csdn net vbirdbest article details 感谢 vbirdbest 的相关知识分享首先 认识一下三胞胎 log4j 是 apache 实现的一个开源日志组件 logback 同样是由 log4j 的作者设计完成的 拥有更好的特性 用来取代 log4j 的一个日志框架 是 slf4j 的原生实现 Log4j2 是

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号