百度地图Javascript API绘制轨迹

(首先贴两个网站:
1.百度地图API官方示例.
2.百度地图Javascript API v3.0参考类.

一、新建Html文档

新建文档可以直接从官方示例中复制一个模板

复制粘贴时 1处加一个"http",2处替换为你申请的 密钥;

二、轨迹的绘制

在官方示例中我们可以找到添加覆盖物的示例,里面有绘制折线的例子:

    var polyline = new BMap.Polyline([new BMap.Point(116.399, 39.910),new BMap.Point(116.405, 39.920),new BMap.Point(116.425, 39.900)], {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});   //创建折线map.addOverlay(polyline);//添加折线

这是三个点两条线段组成的一个角。
思路:我们让每一个坐标与上一个坐标之间添加一条折线,只要坐标是连续变化的(没有瞬移),轨迹不就体现出来了吗
方法:自定义一个函数,参数为当前坐标:

var last_point;function draw_trail(lon,lat){var t = new BMap.Point(lon,lat);var polyline = new BMap.Polyline([last_point,t], {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});   //创建折线map.addOverlay(polyline); last_point = t;
}

这样,需要绘制轨迹时调用这个函数即可。
测试时,坐标的经纬度可以通过鼠标在地图上拾取,测试代码如下:

map.addEventListener('mousemove',function(e){draw_trail(e.point.lng,e.point.lat);})

效果如下:

三、添加自定义图标

首先创建自定义图标:
//这里注意 heli2.png 放在html文档同层文件夹下,大小不能太大,40~50像素左右,否则加载不出来
var myIcon = new BMap.Icon('./heli2.png', new BMap.Size(40, 61), {offset: new BMap.Size(0, 0), // 指定定位位置imageOffset: new BMap.Size(0, 0) // 设置图片偏移                   });

在需要的地方 point 处添加图标:

var mk = new BMap.Marker(point,{icon:myIcon,rotation: 90,title: 'my helicopter'});//创建标注图标
map.addOverlay(mk);//将标注添加到地图中

要实现图标的跟随移动,则需要在新坐标处添加图标 同时将上一个坐标处图标移除
所以,draw_trail()函数改为:

function draw_trail(lon,lat){var t = new BMap.Point(lon,lat);map.removeOverlay(mk); //先移除上一个图标mk = new BMap.Marker(t,{icon:myIcon,rotation:0,title: 'my helicopter'});//map.addOverlay(mk);//再添加新图标var polyline = new BMap.Polyline([last_point,t], {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});   map.addOverlay(polyline); last_point = t;
}

效果图:

四、总结

至此,基本实现了轨迹的绘制,如有需要,可以在draw_trail()增加航向角参数,在自定义图标rotation属性中设置,实现方向的实时变化。
项目链接:https://github.com/Mr-Yslf/BlogResources.git

百度地图API绘制轨迹相关推荐

  1. 百度地图描绘轨迹html,百度地图API 绘制轨迹历史

    DOCTYPE html> 2 3 4 5 6 7 body, html{width:100%;height:100%;overflow:hidden;margin:0;font-family: ...

  2. android百度地图箭头,百度地图API绘制带头箭头的折线

    源代码: body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;} #l-map{height:100%;wid ...

  3. android百度地图轨迹实现,android 获取GPS经纬度在百度地图上绘制轨迹

    实现将一组GPS模块获取的经纬度数据在百度地图上绘制轨迹 1.将经纬度转换成百度地图坐标 /** * 标准的GPS经纬度坐标直接在地图上绘制会有偏移,这是测绘局和地图商设置的加密,要转换成百度地图坐标 ...

  4. 百度地图api实现轨迹运动效果

    百度地图api实现轨迹运动效果 实现逻辑: 实现轨迹运动的效果无非就是将一段路程细化为很多个点,然后不过的根据这些点来画出移动轨迹. 实现流程: 1)使用DrivingRoute,根据起点和终点的位置 ...

  5. android 获取GPS经纬度在百度地图上绘制轨迹

    实现将一组GPS模块获取的经纬度数据在百度地图上绘制轨迹 1.将经纬度转换成百度地图坐标 /*** 标准的GPS经纬度坐标直接在地图上绘制会有偏移,这是测绘局和地图商设置的加密,要转换成百度地图坐标* ...

  6. 百度地图api 绘制乡镇边界

    我们在使用百度地图api想要展示苏州市吴中区各乡镇的行政区范围: 百度api有提供了"添加行政区划"的示例:http://lbsyun.baidu.com/jsdemo.htm#c ...

  7. Echarts结合百度地图API绘制热力图

    最近项目中需要使用echarts与百度地图API结合来绘制事故发生热力图,在将其与百度地图结合的过程中遇到了一些问题,现将其过程与解决方案记录下,以供日后参考.echarts中结合百度地图API的热力 ...

  8. python调用百度地图画轨迹图_百度地图 API 绘制路线

    后台拿到数据返回给了jsp页面,并且显示到了地图上 . 现在要根据两个位点.绘制出他们之间的路线. 有实现过这个功能的大神,给指点一下,如果有实例,那当热是最好了. 下面是 : 我显示坐标的代码: v ...

  9. 根据经纬度坐标值在百度地图上绘制轨迹

    因为项目需要做物体轨迹检测,所以要把物体移动的轨迹在百度地图上进行绘制和显示,于是就在网上找到了这个方法,现在做个记录方便以后查阅: 1.html 部分设置存放地图的容器和设置你的百度地图的ak ht ...

最新文章

  1. 数据库高可用架构(MySQL、Oracle、MongoDB、Redis)
  2. python-34:极视界爬虫总结
  3. ‘shared_ptr‘ is not a member of ‘std’
  4. python四十七:在子类中调用父类方法
  5. Elasticsearch笔记(七):聚合查询
  6. DataGrip以超级管理员身份登录Oracle
  7. Java占位符替换工具类
  8. [CareerCup] 17.2 Tic Tac Toe 井字棋游戏
  9. git切换到新的远程地址
  10. 解析WINDOWS中的DLL文件---经典DLL解读
  11. mysql dbutil_DBUtil详解
  12. 恭喜这2所高校,喜提“电子土豆大学”“四川土豆大学”称号
  13. maven打包报错:-source 1.5 中不支持 diamond 运算符
  14. maven Web项目中POM的配置信息
  15. SEO 和 SEM 的优缺点有哪些区别和优势
  16. CSAPP实验四:性能优化实验(Perflab)
  17. 经营十二条(学习总结)
  18. Fabric CA官方文档翻译——Planning for a CA
  19. 用js实现数组去除重复的元素方法
  20. Linux | 常用指令

热门文章

  1. 亿品赞抢购捡漏软件v4.7官方版
  2. 无框架,简单maven webapp骨架跑一个项目 (快速回忆基本使用及其流程用)
  3. 多变量线性回归(机器学习笔记三)
  4. 解决Android修改APP图标无效的问题
  5. 【uploader】表格化自整理vue-simple-uploader的文档(超详细)
  6. JAVA CRC16校验
  7. myplay.pif、winsys16.dll、scrsys16.dll和AlxRes.exe的分析与解决
  8. Knime Analytics Platform
  9. 喜马拉雅(xm-sign)加密破解
  10. Revit模型如何在WPF三维展示