百度地图绘制轨迹点

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> 


  • 2018-08-14 23:35:28

    Retrofit 设置 超时时间

    今天开发的时候遇到一个网络请求超时的问题,后台处理是成功的,但是移动端返回的总是提示请求超时,在设置了retrofit请求超时的时间延长以后,就可以请求成功了,下面是配置的方法:

  • 2018-08-16 16:10:43

    Laravel 跨域解决方案

    我们在用 laravel 进行开发的时候,特别是前后端完全分离的时候,由于前端项目运行在自己机器的指定端口(也可能是其他人的机器) , 例如 localhost:8000 , 而 laravel 程序又运行在另一个端口,这样就跨域了,而由于浏览器的同源策略,跨域请求是非法的。其实这个问题很好解决,只需要添加一个中间件就可以了。

  • 2018-08-18 20:30:12

    laravel5.5 路由分割成不同文件

    routes.php/api.php文件用来放置laravel路由,当项目越来越大,相应的路由文件也会越来越多。如果能够将不同功能的路由分割到不同的文件,那么对以后的维护将很有帮助。

  • 2018-08-20 15:26:19

    关于OnTouch 和OnClick同时调用冲突的解决方案

    大家在搞轮播图的时候会碰到这样的情况,点击进入webview界面,长按轮播图停止轮播,手松开图又开始轮播,这里就涉及到了OnTouch 和OnClick同时调用。两者是有冲突的。这里简单介绍,给大家提供思路。

  • 2018-08-20 15:29:11

    揭开RecyclerView的神秘面纱(二):处理RecyclerView的点击事件

    主要讲述了RecyclerView的基本使用方法,不同的布局管理器而造成的多样化展示方式,展示了数据之后,一般都会与用户进行交互,因此我们需要处理用户的点击事件。在ListView和GridView提供了onItemClickListener这个监听器,然而我们查找RecyclerView的API却没有类似的监听器,因此我们需要自己手动处理它的点击事件。 以下提供两种方法来实现处理RecyclerView点击事件的功能,以下代码均基于上一篇文章的代码做出修改。

  • 2018-08-20 22:58:46

    onInterceptTouchEvent和onTouchEvent调用关系详解 ...

    老实说,这两个小东东实在是太麻烦了,很不好懂,我自己那api文档都头晕,在网上找到很多资料,才知道是怎么回事,这里总结一下,记住这个原则就会很清楚了:

  • 2018-08-23 15:32:18

    map对象拷贝问题

    最后面是使用序列化的方式,发现,更改引用类型的数据的时候,mapNew对象并没有发生变化,所以产生了深拷贝。 上述的工具类,可以实现对象的深拷贝,不仅限于HashMap,前提是实现了Serlizeable接口。

  • 2018-08-24 11:33:17

    总结和分析几种判断 RecyclerView 到达底部的方法

    SwipeRefreshLayout 写一个 RecyclerView 的上下拉 ,里面有一个判断 RecyclerView 是否到达底部的方法 isBottom。我的同事用了这个上下拉之后发现有些小 bug,没考虑周全,譬如各个子项高度不统一的时候,然后我找到原因是因为这个判断上下拉的问题。所以,我就去网上查到几种判断 RecyclerView 到达底部的方法,发现各有千秋。以下的分析都以上一篇文章的 SwipeRecyclerView 为例