【百度地图API】自定义可编辑的交通路线

简介: 原文:【百度地图API】自定义可编辑的交通路线任务描述:   我想自己绘制一条从地铁站出口到天安门的道路,而且还需要根据我的喜好来改变这条路线。   如何实现:   鼠标左击地图,绘制路线;双击后,绘制结束;绘制结束后,路线可编辑。
原文: 【百度地图API】自定义可编辑的交通路线

任务描述:

  我想自己绘制一条从地铁站出口到天安门的道路,而且还需要根据我的喜好来改变这条路线。

 

如何实现:

  鼠标左击地图,绘制路线;双击后,绘制结束;绘制结束后,路线可编辑。

 

TIPS:

  API1.1以后,可以使用enableEditing()来开启折线可编辑功能。

 

图示:

  img_ce6306b43db8e0f142162ae58f7eeba4.png

 

运行代码,请点击这里

 

代码:

 

<! 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=46ce9d0614bf7aefe0ba562f8cf87194&v=1.1&services=true" >
</ script >
</ head >
< body >
< div style ="width:520px;height:340px;border:1px solid gray" id ="container" >
</ div >
</ body >
< script type ="text/javascript" >
var map = new BMap.Map( " container " );
map.centerAndZoom(
new BMap.Point( 116.404 , 39.915 ), 18 );
var e1,e2;
var p = []; // 用来存储折线的点
var polyline;
var doneDraw = 0 ; // 判断是否绘制折线结束
map.addEventListener( " click " , function (e1){ // 当鼠标单击时
if (doneDraw == 0 ){ // 判断是否绘制曲线完毕
p.push( new BMap.Point(e1.point.lng,e1.point.lat)) // 存储曲线上每个点的经纬度
if (polyline){polyline.setPoints(p);} // 如果曲线存在,则获取折线上的点
else {polyline = new BMap.Polyline(p);} // 如果折线不存在,就增加此点
if (p.length < 2 ){ return ;} // 当折线上的点只有一个时,不绘制
map.addOverlay(polyline); // 绘制曲线
}
});
map.addEventListener(
" dblclick " , function (e2){ // 当鼠标双击时:结束绘制,并可以编辑曲线
alert( " 绘制完成 " );
doneDraw
= 10 ;
polyline.enableEditing();
});
</ script >
</ html >

 

 

目录
相关文章
|
5天前
|
API
通用图片搜索-百度源免费API接口教程
该接口用于搜索百度图片,支持通过关键词、页码、结果数量等参数获取图片搜索结果。请求方式为POST或GET,需提供用户ID和KEY,可选参数包括关键词、页码、结果数量及返回源类型。返回结果包含状态码、信息提示、结果集、当前页码、最大页码和结果数量。示例中提供了GET和POST请求方法及返回数据示例。
|
3月前
|
域名解析 网络协议 API
【API管理 APIM】APIM集成内部VNet时,常遇见的关于自定义DNS服务问题。
【API管理 APIM】APIM集成内部VNet时,常遇见的关于自定义DNS服务问题。
|
4月前
|
数据采集 DataWorks 测试技术
DataWorks产品使用合集之如何通过REST API进行数据采集,并且自定义传入API的参数
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
140 26
|
3月前
|
SQL Shell API
python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
|
3月前
|
中间件 API 网络架构
Django后端架构开发:从匿名用户API节流到REST自定义认证
Django后端架构开发:从匿名用户API节流到REST自定义认证
43 0
|
3月前
|
SQL 网络协议 安全
【Azure API 管理】APIM集成内网虚拟网络后,启用自定义路由管理外出流量经过防火墙(Firewall),遇见APIs加载不出来问题
【Azure API 管理】APIM集成内网虚拟网络后,启用自定义路由管理外出流量经过防火墙(Firewall),遇见APIs加载不出来问题
|
3月前
|
JavaScript 前端开发 定位技术
百度地图JavaScript API v2.0创建地图
百度地图JavaScript API v2.0创建地图
70 0
|
4月前
|
JavaScript 前端开发 定位技术
vue 使用 vue-jsonp 解决跨域请求问题(访问百度地图API)
vue 使用 vue-jsonp 解决跨域请求问题(访问百度地图API)
256 0
|
5月前
|
API
云CAD(在线转DWG的API)实现自定义实体的详细方法
本文档介绍了在网页CAD中使用自定义实体的方法。用户可通过继承`McDbCustomEntity`类创建自定义实体,如自定义直线`McDbTestLineCustomEntity`,重写`dwgInFields()`和`dwgOutFields()`来读写实体数据,实现`getGripPoints()`和`moveGripPointsAt()`以支持夹点编辑。在程序启动时调用`rxInit()`注册自定义实体。示例代码展示了创建、编辑和动态绘制自定义直线的步骤。此外,文档还给出了更复杂的自定义实体例子,如带有文本和圆端点的直线,实现了端点联动功能。
云CAD(在线转DWG的API)实现自定义实体的详细方法
|
5月前
|
域名解析 JavaScript 网络协议
技术心得记录:如何使用google地图的api(整理)
技术心得记录:如何使用google地图的api(整理)
448 0
下一篇
无影云桌面