【百度地图API】北京周边7日游——图标按路线轨迹行动

简介: 原文:【百度地图API】北京周边7日游——图标按路线轨迹行动 任务描述:   春节就要来啦~酸奶小妹的妈妈要从遥远的重庆,来到北京过春节呢!酸奶小妹忙着给妈妈计划,北京周边的旅游线路。计划好路线后,就开始驾车旅游啦~~   如何实现:   利用百度地图API先确定几个坐标点points,把他们连成一条折线BMap.Polyline(points)。
原文: 【百度地图API】北京周边7日游——图标按路线轨迹行动

任务描述:

  春节就要来啦~酸奶小妹的妈妈要从遥远的重庆,来到北京过春节呢!酸奶小妹忙着给妈妈计划,北京周边的旅游线路。计划好路线后,就开始驾车旅游啦~~

 

如何实现:

  利用百度地图API先确定几个坐标点points,把他们连成一条折线BMap.Polyline(points)。

  然后,更改标注图片为一辆小车,var myIcon = new BMap.Icon("car.png",...)。

  最后利用二次开发的类K_pointmover让小车沿着折线运动。

 

图示:

img_696cbbf8dbcaf2e431c732bbff715dbe.jpg

 

运行代码,点击这里

 

代码:

 

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta name ="keywords" content ="百度地图,百度地图API" />
< meta name ="description" content ="百度地图API自定义地图,按路线行驶的小车" />
< meta http-equiv ="Content-Type" content ="text/html; charset=gb2312" />
< title > 按指定路线前进的小车 </ title >
< script type ="text/javascript" src ="http://api.map.baidu.com/api?key=ea9710104e3349456b5e5d1191f2d376&v=1.1&services=true" ></ script >
< script type ="text/javascript" src ="K_PointMover.js" ></ script >
< script type ="text/javascript" src ="K_Function.js" ></ script >
</ head >
< body onload ="onLoad()" >
< div style ="float:left;border:5px dashed #9df83e;" >
< div style ="width:520px;height:340px;border:1px solid gray" id ="container" ></ div >
< div style ="display:none;" >
< input type ="checkBox" id ="MarkerMove" checked /> MarkerMove
< input type ="checkBox" id ="MapMove" /> MapMove
</ div >
< p > 北京周边一日游--请点击"开始" < input type ="button" value ="开始" onclick ="pointMover.Move();" /></ p >
< p > "暂停"后,可点击小车,获取当前坐标。 < input type ="button" value ="暂停" onclick ="pointMover.Pause();" /></ p >
</ div >
</ body >
< script type ="text/javascript" >
var map = new BMap.Map( " container " ); // 创建map
var point = new BMap.Point( 116.411053 , 39.950507 ); // 确定中心点
map.centerAndZoom(point, 8 ); // 初始化地图map,设置中心点和地图级别。

var moveMarker,pointMover;
function onLoad()
{
var point1 = new BMap.Point( 117.965625 , 40.962343 ); // 起点1
var point2 = new BMap.Point( 118.213988 , 39.609821 ); // 中间点2
var point3 = new BMap.Point( 117.211335 , 39.095608 ); // 中间点3
var point4 = new BMap.Point( 116.723807 , 39.53863 ); // 中间点4
var point5 = new BMap.Point( 116.392656 , 39.9080114 ); // 中间点5
var point6 = new BMap.Point( 115.509585 , 38.865845 ); // 中间点6
var point7 = new BMap.Point( 114.920872 , 40.829717 ); // 中间点7
var point8 = new BMap.Point( 117.965625 , 40.962343 ); // 终点8
var points = [point1,point2,point3,point4,point5,point6,point7,point8]; // 折线数组
var polyline = new BMap.Polyline(points); // 创建折线
map.addOverlay(polyline); // 绘制折线

var myIcon = new BMap.Icon( " car.png " , new BMap.Size( 63 , 42 ), { // 绘制小车
offset: new BMap.Size( 32 , 21 ), // 指定定位位置
imageOffset: new BMap.Size( 0 , 0 ) // 设置图片偏移
});
moveMarker
= new BMap.Marker(points[ 0 ],{icon: myIcon});
map.addOverlay(moveMarker);

moveMarker.addEventListener(
" click " , function (e){ // 鼠标点击获取经纬度
alert( " 小车的坐标为:经度 " + e.point.lng + " ,纬度 " + e.point.lat);
});

pointMover
= new K_PointMover(points, 100 , 0.1 ,MapMove); // 移动函数
}
function MapMove(pointMover)
{
if (document.getElementById( " MarkerMove " ).checked)
moveMarker.setPoint(pointMover.point);
if (document.getElementById( " MapMove " ).checked)
map.panTo(pointMover.point);
}
</ script >
</ html >

 

 

备注:

  你可以自己定义lng()和lat(),让小车移动更加平滑。

  K_pointmover类是定义了小车移动的函数;K_function是基本的一些操作。

 

请到这里,右键查看源码,并下载这两个K_类。

目录
相关文章
|
3月前
|
监控 安全 算法
快递查询API|一次接通2700+快递服务商的物流轨迹
在物流数字化的浪潮中,企业对接多家快递服务商的痛点日益凸显:每新增一家合作物流商,技术团队就要投入 5-7 个工作日进行接口开发,不同服务商的接口协议差异导致系统稳定性差,物流轨迹数据分散在各平台难以整合分析。快递鸟快递查询 API 通过标准化接口架构,创新性地实现了 2700 + 国内外快递服务商的一键接入,将传统模式下的周级开发周期压缩至小时级,彻底重构了物流数据对接的技术范式。
292 0
|
2月前
|
缓存 数据可视化 定位技术
快递鸟快递API技术指南:获取物流轨迹信息与轨迹地图的解决方案
在当今电商竞争激烈的环境中,物流体验已成为提升用户满意度的关键因素。研究表明,超过 75% 的消费者会因物流信息不透明而放弃下单。
583 1
|
新能源 API
百科-百度免费API接口教程
该接口用于从百度百科获取指定名词的基础解释。支持POST或GET请求,需提供用户ID、用户KEY及查询内容。返回状态码和解释内容或错误提示。示例:https://cn.apihz.cn/api/zici/baikebaidu.php?id=88888888&key=88888888&words=汽车。建议使用个人ID与KEY以享受更高调用频次。
1444 4
|
API
表情包-百度版免费API接口教程
该接口用于通过指定关键词从百度渠道获取表情包,支持POST或GET请求。需提供用户ID和KEY,可选参数包括关键词、页码及结果数量。返回数据包含状态码、信息提示、结果集等。示例中ID与KEY为公共测试用,建议使用个人ID与KEY以享受更高调用频率。
1469 4
|
API
通用图片搜索-百度源免费API接口教程
该接口用于搜索百度图片,支持通过关键词、页码、结果数量等参数获取图片搜索结果。请求方式为POST或GET,需提供用户ID和KEY,可选参数包括关键词、页码、结果数量及返回源类型。返回结果包含状态码、信息提示、结果集、当前页码、最大页码和结果数量。示例中提供了GET和POST请求方法及返回数据示例。
1734 4
|
算法 API 定位技术
谷歌地图 | 路线优化 API 助力企业解锁物流新潜能
Google Maps Platform推出了路线优化API,旨在提升企业车队效率和客户满意度。此API允许分配任务、规划多站点路线,处理实时变动,支持复杂调度,并适应不同业务目标。希腊电商Skroutz利用该API提高了配送准时率和驾驶员效率。API依托Google的运筹学算法,解决大规模车辆路线问题,适用于物流、医疗、现场服务等多个行业。合作伙伴如埃森哲已成功应用此技术优化物流。路线优化API现全面开放,助力企业降低成本,实现可持续发展。
287 3
|
JavaScript 前端开发 定位技术
百度地图JavaScript API v2.0创建地图
百度地图JavaScript API v2.0创建地图
207 0
|
定位技术 API
Angular 调用导入百度地图API接口,2024春招BAT面试真题详解
Angular 调用导入百度地图API接口,2024春招BAT面试真题详解
|
JavaScript 前端开发 定位技术
vue 使用 vue-jsonp 解决跨域请求问题(访问百度地图API)
vue 使用 vue-jsonp 解决跨域请求问题(访问百度地图API)
982 0
|
域名解析 JavaScript 网络协议
技术心得记录:如何使用google地图的api(整理)
技术心得记录:如何使用google地图的api(整理)
1436 0