百度地图绘制轨迹点

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-11-29 13:06:27

    如何判断一个多边形是否合法

    利用无人机对一片区域进行测绘前,我们会先在地图上框选一个区域,然后再规划飞行的路线,而需要测绘的这片区域往往是一个多边形。在 MeshKit 中,我们加入了多边形区域的编辑功能,其中就涉及判断用户所编辑出来的多边形是否合法的问题。

  • 2019-11-29 13:47:22

    百度地图做电子围栏总结

    在地图上画出围栏,设置围栏信息后保存,生成围栏列表。全选时,地图视野可看到全部的围栏区域,单独勾选会调整地图视野到当前勾选的围栏。围栏区域的中心点要显示围栏名称。

  • 2019-11-29 13:50:29

    图片连接处出现白线

    block导致,只要父元素设置font-size:0或者设置img display: block; 便可。但是我设置了没有用,这条线不是所有的机型都有,而且页面滚动之后又消失,我琢磨半天,各种尝试,发现把图片高度减少(增加)1px就解决了。因为我们的项目是用postcss-px-to-viewport,我每张图片都是设置高度的,应该是数值转换出现偏差。

  • 2019-11-29 13:54:07

    粗略计算多边形中心点(并不是很准确,但简单好用)

    也是再做栅栏系统,搜索如何获取多边形中心点的问题上,发现了这个,简单易于理解,但是并不是特变准确,但也不影响使用。 后来发现了新的算法,并且百度地图也提供相应的api。 具体内容我写在了前面的文章,大家可以找一下。

  • 2019-11-29 14:20:38

    vue,vuthis.$parent算法

    由于组件嵌套,其实vue parent的位置也改变了,我们可以通过下面的图片,来看一下,parent到底什么哪一层

  • 2019-11-29 14:23:24

    百度地图 多个标记点设置最佳视角

    通过下面的语法,我们可以为不规则图形,以及过大的图形进行地图适配,更好的展示我们画的图形,当然,如果展示所有的图形,我们可以暴力的把所有的点组合起来进行展示,点过多不知道会不会影响性能,不过我们也可以从后台精简点数,不过地球是圆的,不知道好不好做。

  • 2019-12-01 08:00:16

    PHP中的HTTP_HOST和SERVER_NAME有什么区别

    多域名指向同一个php服务器,用nginx做代理,获取SERVER_NAME都是第一个域名,这就尴尬了,至今不明白咋回事,最后用HTTP_HOST解决都,这个暂时倒是准确。

  • 2019-12-01 08:04:30

    laravel多路由配置,也可以做根据域名都动态路由

    在用laravel 框架开发大型应用的时候,由于 laravel 默认是只有一个路由文件,如果把项目所有模块的路由放在一个路由文件下,那么该路由文件就显得很臃肿,以至于后期难以维护,解决方案是根据不同模块配置不同路由文件。