百度地图绘制轨迹点

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> 


  • 2020-11-22 23:00:16

    androidx中的lifecycle组件

    Lifecycle-aware components生命周期感知组件执行操作,以响应另一个组件生命周期状态的更改,例如Activity和Fragment。这些组件可以帮助您生成更有组织、更容易维护的轻量级代码。

  • 2020-11-22 23:02:50

    Android数据存储之DataBase的Room

    Room是Google在AndroidX中提供的一个ORM(Object Relational Mapping,对象关系映射)库。它是在SQLite上提供的一个抽象层,可以使用SQLite的全部功能,同时可以更好更便捷流畅地访问数据库。(关于AndroidX可以参考

  • 2020-11-22 23:04:39

    Android组件 LiveData与MutableLiveData教程

    LiveData与ViewMode是经常搭配在一起使用的,但是为了不太混乱,我还是拆分开来说明,此篇博客只讲解 LiveData 与 MutableLiveData的概念与使用方式(但是会涉及到ViewMode的部分代码).

  • 2020-11-22 23:14:52

    Dagger 2 在 Android 上的用法

    在前面的文章我们介绍了Dagger2 中的大部分注解的使用,接下来我们从源码角度分析下第一篇文章中例子的原理。

  • 2020-11-22 23:18:59

    Android开发从Dagger2迁移至Kodein的感受

    最近个人在尝试构建 Kotlin版本 的Android MVVM开发框架,在依赖注入框架的选型上,我最终选择了 Kodein 。这是一个非常轻量级的DI框架,相比于配置繁琐的Dagger(繁琐的配置也是导致Dagger学习成本一直居高不下的原因!),它的配置过程更清晰且简单,并且,这个库的源码也是 Kotlin 的。

  • 2020-11-22 23:25:56

    Dagger2源码解析inject过程

    添加inject后,通过编译生成的DaggerMainComponent类来导入,说明编译以后生成了一些类,那到底生成了什么类呢。 Module和Component又是什么,该怎么里理解 在这篇文章后里将一一讨论。

  • 2020-11-22 23:27:28

    dagger学习教程

    dagger android 学习(一):dagger基础使用 dagger android 学习(二):AndroidInjector的使用 dagger android 学习(三):ContributesAndroidInjector的进一步优化 dagger android 学习(四):基于dagger2的mvp架构

  • 2020-11-22 23:31:22

    Dagger2与AndroidInjector详解

    相信使用过Dagger开发Android应用的小伙伴会知道(如果你还不是很了解Daager,可以先看我之前的一篇基本介绍:Dagger2使用攻略),我们会在Activity或Fragment的生命周期方法中执行成员注入。比如这样:

  • 2020-11-23 08:52:59

    asm.js 和 Emscripten 入门教程

    asm.js 就是为了解决这两个问题而设计的:它的变量一律都是静态类型,并且取消垃圾回收机制。除了这两点,它与 JavaScript 并无差异,也就是说,asm.js 是 JavaScript 的一个严格的子集,只能使用后者的一部分语法。

  • 2020-11-23 09:11:07

    爬虫——记一次破解前端加密详细过程

    从最初使用webdriver+selenium爬虫到现在利用http请求解析html,经历过各种各样的问题,webdriver+selenium这种办法虽然万能,而且可以用JS写解析脚本方便调试,