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

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

任务描述:

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

 

如何实现:

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

 

TIPS:

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

 

图示:

  

 

运行代码,请点击这里

 

代码:

 

<!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>

 

 

时间: 2024-09-14 05:32:54

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

【百度地图API】圣诞节里不会迷路的麋鹿——驾车导航

原文:[百度地图API]圣诞节里不会迷路的麋鹿--驾车导航 任务描述: 可能大家还不知道,圣诞老人是爱迷路的老爷爷! 今年圣诞节又要到了,圣诞老人又要出来送礼物了.可是,他灰常的迷路呢! 还好,他有一只不会迷路的麋鹿--   如何实现: 建立两个input文本框,分别获得圣诞老人输入的起点和终点. 当圣诞老人点击OK按钮后,先判断起点和终点文本框内是否为空,为空则需要提示圣诞老人重新输入. 不为空的情况下,进行查询驾车路线的工作. 如果没有查询到相应的起点和终点,则需要提示圣诞老人重新输入哦!

【百度地图API】如何制作孪生姐妹地图?

原文:[百度地图API]如何制作孪生姐妹地图? 任务描述: 我想要两张一模一样的地图!我想要双子地图!我想要孪生姐妹地图! 好好好,统统满足大家! 在这里我不需要使用百度地图API提供的地图缩略图控件,而是自己动手做一对双胞胎地图!   如何实现? 创建两张地图,map1和map2,他俩的中心点和地图级别(放大倍数)不同. 当鼠标移动map1的中心点时,map2的中心点会随着一起变化,最终和map1的中心点一致. 同理,可以实现用鼠标滚轮放大缩小地图.   操作试试: 移动左边的地图,右边的地图

【百度地图API】如何调整结果面板的样式?如何获取指定页码的结果?

原文:[百度地图API]如何调整结果面板的样式?如何获取指定页码的结果? 摘要: 1.你是否想自定义查询后,结果面板的显示样式? 2.数据接口每次只返回10条结果,如何取到单独每一页的结果? --------------------------------------------------------- 一.如果自定义结果面板的样式? 我们通过数据接口拿到每一条数据,然后塞到自己想要的html结构里,如下: if(cPNum > 0){ str += '<ul class="res

【百度地图API】暑假放假回老家——城市切换功能

原文:[百度地图API]暑假放假回老家--城市切换功能 任务描述: 酸奶小妹放寒假啦,要从北京呼啦一下飞回重庆呢.现在百度地图API上不能直接切换城市,怎么办呢?   如何实现: 利用API先搜索到要去城市,然后再让搜索到的城市显示在地图中心点. (百度地图上的实现方式是,给后端一个请求,后端返回该城市的经纬度)   图示:   运行代码:请点击这里   代码:   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&

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

原文:[百度地图API]北京周边7日游--图标按路线轨迹行动 任务描述: 春节就要来啦~酸奶小妹的妈妈要从遥远的重庆,来到北京过春节呢!酸奶小妹忙着给妈妈计划,北京周边的旅游线路.计划好路线后,就开始驾车旅游啦~~   如何实现: 利用百度地图API先确定几个坐标点points,把他们连成一条折线BMap.Polyline(points). 然后,更改标注图片为一辆小车,var myIcon = new BMap.Icon("car.png",...). 最后利用二次开发的类K_poi

【百度地图API】如何制作泡泡放大镜?

原文:[百度地图API]如何制作泡泡放大镜? 任务描述: 我不喜欢API提供的缩放控件耶-- 我能不能使用其他方式放大地图勒?   当然阔以啦! 现在就来教大家如何动手制作一个可爱的泡泡放大镜! 使用它,就可以放大地图上的任何细节啦~   如何实现: 创建主地图map1,在主地图上创建一个标注,并对标注添加一个信息窗口. 在信息窗口里面,创建一张小地图,地图级别为18(足够大啦). 默认设置信息窗口关闭,点击红色标注后打开信息窗口.   操作试试: 点击红色标注,立马弹出来一个泡泡放大镜! 你还

asp.net-调用百度地图API创建一个自定义地图实现区分内外环

问题描述 调用百度地图API创建一个自定义地图实现区分内外环 我现在想做一个根据输入的地址,来区分城市的内外环.该怎么做,百度地图API好像没有直接可调用的接口 解决方案 这个需要自己去判断的.没办法直接根据坐标判断. 解决方案二: 你收集好每个城市的内外环的百度地图经纬度采样点放入数据库,然后依据用户输入的地址解析得到的经纬度和数据库对比得到是内或者外环 内外环数据采样点只能人工收集..

【百度地图API】如何自定义地图图层?实例:制作麻点图(自定义图层+热区)

原文:[百度地图API]如何自定义地图图层?实例:制作麻点图(自定义图层+热区) 摘要:自定义地图图层的用途十分广泛.常见的应用,比如制作魔兽地图和清华校园地图(使用切图工具即可轻松实现).今天我们来学习,当地图上有大量标注,比如600万个的时候,我们如何用"麻点图"来实现标注的展示. -----------------------------------------------------------------------------------------------------

【百度地图API】如何制作自定义样式的公交导航结果面板?

原文:[百度地图API]如何制作自定义样式的公交导航结果面板? 摘要: 百度地图API有默认的公交导航结果面板,但样式比较单一:而百度地图上的结果面板就比较美观.如何利用百度地图API来制作一个比较美观的公交导航结果面板呢?一起来学习一下吧. ---------------------------------------------------------------------------------------------- 首先,看一下百度地图上的结果面板,如下图:   再来看看百度地图A