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

任务描述:

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

如何实现:

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

TIPS:

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

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script>
    <script type="text/javascript" src="http://api.map.baidu.com/library/TextIconOverlay/1.2/src/TextIconOverlay_min.js"></script>
    <script type="text/javascript" src="http://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script>
    <title>21.1自定义可编辑的交通路线</title>
</head>
<body>
    <div style="clear: both;">
        <div style="float: left; width: 500px; height: 340px; border: 1px solid gray" id="container">
        </div>
    </div>
</body>
</html>
<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.setPath(p); } //如果曲线存在,则获取折线上的点 setPath(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>
时间: 2024-08-29 17:30:22

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

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

原文:[百度地图API]自定义可编辑的交通路线 任务描述: 我想自己绘制一条从地铁站出口到天安门的道路,而且还需要根据我的喜好来改变这条路线. 如何实现: 鼠标左击地图,绘制路线:双击后,绘制结束:绘制结束后,路线可编辑. TIPS: API1.1以后,可以使用enableEditing()来开启折线可编辑功能. 图示: 运行代码,请点击这里. 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &

百度地图添加覆盖物与给定两点路线规划

final LatLng ll = new LatLng(latiide, longitude);                BitmapDescriptor descriptor = BitmapDescriptorFactory                        .fromResource(marker);                OverlayOptions options = new MarkerOptions().position(ll).icon(      

百度地图 自定义结果面板+分页+图层标注(标注点+搜索)

示例一: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <script type="text/java

IOS 设置百度地图自定义标注图片,自定义泡泡

#pragma mark - BMKMapViewDelegate // 根据anntation生成对应的View - (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id <BMKAnnotation>)annotation { //普通annotation NSString *AnnotationViewID = @"ClusterMark"; ClusterAnnotation

百度地图自定义覆盖物

<script> var map = new BMap.Map('allmap'); var Bcenter = new BMap.Point(116.404,39.915); map.centerAndZoom(Bcenter,11); //自定义的覆盖物 function myOverlay(point,text,mouseoverText){ this._point = point; this._text = text; this._overtext = mouseoverText; }

【Android】代理模式封装百度地图路线规划模块

百度地图的Demo里有个路线规划的功能,但是,这个功能和Activity耦合性太高,所以需要单独抽离出路径规划功能,进行"解耦". 注:由于项目原因,本文只针对驾车路线规划进行封装. 首先,定义RoutePlan类,这个类就是路线规划类,既然是路线规划,所以要实现OnGetRoutePlanResultListener接口,路线规划需要的三个参数作为它的成员,即城市city.起点start.终点end. 然后,由于需要搜索,所以对外提供搜索接口: public void driving

百度地图API自定义地图

<!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 http-equiv="Content-Typ

网页嵌入百度地图和使用百度地图api自定义地图的详细步骤

在网页中插入百度地图 如果想在自己的网页上面加入百度地图的话,可以用百度地图的api.具体使用方法如下: 第一步:进入百度创建地图的网站http://api.map.baidu.com/lbsapi/creatmap/,搜索出自己要展示的位置,如下图所示. 第二步:设置地图,大家可以对网站显示地图的宽高进行设置,其余选项不动. 第三步:添加标注.点击第一个图标后,在右侧找到自己的位置,单击鼠标左键可定位.标记图标处可更换图标形状,名称和备注填入位置相关信息. 第四步:获取代码.将代码贴到你的网页

顾维灏谈百度地图数据采集:POI自动处理率达90%

顾维灏谈百度地图数据采集:POI自动处理率达90% 发布时间:2015-12-21 22:37        来源:cnsoftnews.com        作者: 百度地图还创新研发高精地图,并成为国内唯一掌握这一无人驾驶汽车的核心技术的地图厂商.基于强大的自采能力和不断开拓的技术创新,百度地图正在变革人们对于地图的定义. 12月21日,百度地图十周年生态大会在798艺术区尤伦斯当代艺术中心举行,百度地图事业部副总经理顾维灏出席大会并发表主题演讲.顾维灏表示,百度地图已经拥有超过4000万的