百度地图绘制轨迹点

2020-02-24 18:37:17

参考地址 百度地图绘制轨迹点

没有后台获取事实信息 都是伪数据- -轨迹信息做不到事实导航。

控件可以根据自己的需求添加 位置通过offset:new BMAP.Size(x,y)进行微调

事实路况信息需要通过引没有后台获取事实信息 都是伪数据- -轨迹信息做不到事实导航。

控件可以根据自己的需求添加 位置通过offset:new BMAP.Size(x,y)进行微调

3D视图部分城市没有开放开放 根据需求自己添加

事实路况信息需要通过引入入

<link href="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script>

<link href="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script>

<html>  

<head>  

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

    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  

    <style type="text/css">  

        body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}  

        #allmap{height:100%;width:100%;}  

        #r-result{width:100%; font-size:14px;position: absolute;top:45%;left:40px;}  

    </style>  

    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的密匙"></script> <!-- 百度地图开放平台自己申请-->   

    <title>城市名定位</title>  

</head>  

<body>  

    <div id="allmap"></div>  

    <div id="r-result">  

        经度: <input id="longitude" type="text" style="width:100px; margin-right:10px;" value="107.17064545"/>  

        纬度: <input id="latitude" type="text" style="width:100px; margin-right:10px;" value="34.36408081"/>  

    </div>  

</body>  

</html>  

<script type="text/javascript">  

    //画线需要的坐标数组,每n秒更新一次  

    var coordinateArr = [];  

    // 百度地图API功能  

    var map = new BMap.Map("allmap");  

map.centerAndZoom(new BMap.Point(107.17064545,34.36408081), 14);

map.centerAndZoom("宝鸡",14);

    map.enableScrollWheelZoom(true);  

/* step-1 添加导航控件*/

var navigationControl = new BMap.NavigationControl({

anchor: BMAP_ANCHOR_BOTTOM_LEFT,// 靠右上角位置

type: BMAP_NAVIGATION_CONTROL_LARGE, // LARGE类型

enableGeolocation: true, // 启用显示定位

offset: new BMap.Size(20,230)

});

/*step-2 添加地图类型和缩略图*/

var mapType1 = new BMap.MapTypeControl({

anchor:BMAP_ANCHOR_BOTTOM_LEFT,

mapTypes: [BMAP_NORMAL_MAP,BMAP_HYBRID_MAP],

});

var overView = new BMap.OverviewMapControl();

var overViewOpen = new BMap.OverviewMapControl({isOpen:true, anchor: BMAP_ANCHOR_BOTTOM_RIGHT});

map.addControl(mapType1);        

mapType1.setOffset(new BMap.Size(20,100));

map.addControl(overView);          

map.addControl(overViewOpen);    

overViewOpen.setOffset(new BMap.Size(20,60));

/*step-3 添加比例尺*/

var top_left_control = new BMap.ScaleControl({anchor: BMAP_ANCHOR_BOTTOM_LEFT});

top_left_control.setOffset(new BMap.Size(20,128));

map.addControl(top_left_control);

      

    // 用经纬度设置地图中心点  

    function theLocation(){  

        if(document.getElementById("longitude").value != "" && document.getElementById("latitude").value != ""){  

            map.clearOverlays();   

            var new_point = new BMap.Point(document.getElementById("longitude").value,document.getElementById("latitude").value);  

            coordinateArr.push(new_point);  

            var myIcon = new BMap.Icon("http://developer.baidu.com/map/jsdemo/img/car.png", new BMap.Size(52, 26), {    //小车图片  

            //offset: new BMap.Size(0, -5),    //相当于CSS精灵  

            imageOffset: new BMap.Size(0, 0)    //图片的偏移量。为了是图片底部中心对准坐标点。  

      });  

            var marker = new BMap.Marker(new_point,{icon:myIcon});  // 创建标注  

            map.addOverlay(marker);              // 将标注添加到地图中  

            map.panTo(new_point); //小车在地图中心           

        }  

    }  

      

    //自动改变经纬度  

    var randoms = 0;  

    function min(){  

        document.getElementById("longitude").value-=0.0000681;  

    }  

          

    //绘制轨迹  

    function drawLine(){  

        var polyline = new BMap.Polyline(coordinateArr, {strokeColor:"blue", strokeWeight:4, strokeOpacity:0.6});     

        map.addOverlay(polyline);  

    }  

      

      

    setInterval("min()",1000);  

    setInterval("theLocation()",2000);//定位  

    setInterval("drawLine()",500);//绘制轨迹  

      

</script> 


  • 2019-08-20 11:05:30

    php,nginx,线程和进程分析

    大多数的 Linux 程序都倾向于使用进程而不是线程,因为 Linux 下相对来说创建进程的开销比较小,而 Linux 的线程功能又不是很强大。

  • 2019-08-20 11:22:36

    Node.js 单线程与多进程比较

    进过上面两种方式的对比,结果很明显,多进程处理速度是单线程处理速度的 4 倍多。而且有条件的情况下,如果电脑 CPU 足够,进程数更多,那么速度也会更快。

  • 2019-08-22 13:35:27

    Generator函数的语法

    执行Generator函数会返回一个遍历器对象,也就是说,Generator函数除了是状态机还是一个遍历器对象生成函数。 返回遍历器对象,可以依次遍历Generator函数内部的每一个状态。

  • 2019-08-22 16:38:15

    理解JS原型对象与原型链(重要清晰)

    JavaScript 常被描述为一种基于原型的语言 (prototype-based language)——每个对象对应拥有一个原型,对象以其原型为模板、从原型继承方法和属性。而同时原型也是对象,它也拥有原型,并从中继承方法和属性,一层一层、以此类推。这种关系常被称为原型链 (prototype chain),它解释了为何一个对象会拥有定义在其他对象中的属性和方法。

  • 2019-08-22 17:26:21

    详解javaScript的深拷贝

    最开始意识到深拷贝的重要性是在我使用redux的时候(react + redux), redux的机制要求在reducer中必须返回一个新的对象,而不能对原来的对象做改动,事实上,当时我当然不会主动犯这个错误,但很多时候,一不小心可能就会修改了原来的对象,例如:var newObj = obj; newObj.xxx = xxx 实际上,这个时候newObj和obj两个引用指向的是同一个对象,我修改了newObj,实际上也就等同于修改了obj,这,就是我和深浅拷贝的第一次相遇。

  • 2019-08-22 19:14:21

    Android Studio 3.5最新特性

    Android Studio(以下简称为AS) 3.5正式版终于发布了,从第一个bate版本发布到正式版本,历时三个半月。AS一直以来被开发者吐槽,因此谷歌也放慢了版本的变化,对测试版本进行大力度的优化,提高了稳定性。从3.3版本开始,谷歌启动了名为Project Marble的计划,意为谷歌团队致力于使集成开发环境(IDE)的基本功能和流程变得坚如磐石,同时精炼和完善面向用户的功能。而AS 3.5则是Project Marble主要成果的版本,下面来介绍主要成果。