JS 百度地图 地图线路描绘

  

<script type="text/javascript"
src="http://api.map.baidu.com/api?v=3.0&ak=PlhFWpA02aoURjAOpnWcRGqw7AI8EEyO"></script>
<div id="allmap"></div>
 // 百度地图API功能
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(113.350512, 23.191744),12);
map.enableScrollWheelZoom(); var data=[
{lng:"113.350512",lat:"23.191744"},
{lng:"113.364512",lat:"23.182644"},
{lng:"113.375512",lat:"23.173544"},
{lng:"113.386512",lat:"23.164344"},
{lng:"113.397512",lat:"23.155444"},
{lng:"113.318512",lat:"23.136244"},
{lng:"113.329512",lat:"23.147144"}
]
var pois1 = [];
(data).forEach(function (item) {
pois1.push(new BMap.Point(item.lng, item.lat));
}) var sy = new BMap.Symbol(BMap_Symbol_SHAPE_BACKWARD_OPEN_ARROW, {
scale: 0.4,//图标缩放大小
strokeColor: '#fff',//设置矢量图标的线填充颜色
strokeWeight: '2',//设置线宽
});
var icons = new BMap.IconSequence(sy, '', '5%');
var point = pois1[Math.ceil(pois1.length / 2)];
map.centerAndZoom(point, 12); //描绘线
var line=new BMap.Polyline(addPolyline(pois1,"red",5));
function addPolyline(pois, color, width) {
var polyline = new BMap.Polyline(pois, {
enableEditing: false,//是否启用线编辑,默认为false
enableClicking: true,//是否响应点击事件,默认为true
strokeWeight: width,//折线的宽度,以像素为单位
strokeOpacity: 0.8,//折线的透明度,取值范围0 - 1
strokeColor: color//折线颜色
}); map.addOverlay(polyline); //增加折线
return polyline;
};
var startPng=("./start.png"),endPng=("./end.png"),pointY=("./poscar.png"); SMSSMAPGetOrders(data,'',map); //描绘开始-结束图标
setTimeout(function () {
if (data.length > 1) {
var length = data.length - 1;
SMSSMAPAddCars(map, data[0].lng, data[0].lat, startPng, 18, 18, 0);
SMSSMAPAddCars(map, data[length].lng, data[length].lat, endPng, 18, 18, 0);
} else {
SMSSMAPAddCars(map, data[0].lng, data[0].lat,startPng, 18, 18, 0);
}
}, 500); //描绘途径点--图标
function SMSSMAPGetOrders(pois1, carInfo, mapCity) {
for (var i = 0; i < pois1.length; i++) {
if (pois1[i].lng && pois1[i].lng != "") {
SMSSMAPAddCars(mapCity, pois1[i].lng, pois1[i].lat, pointY, 15, 15, 0)
}
}
}; //生成图标
function SMSSMAPAddCars(map, lng, lat, src, w, h, index) {
//经纬度转换
var point = new BMap.Point(lng, lat);
var myIcon = SMSSMAPICON(src, w, h, index);
// 创建标注对象并添加到地图
var marker = new BMap.Marker(point, {icon: myIcon});
marker.setTitle("");
map.addOverlay(marker); }; //设置图标格式
function SMSSMAPICON(src, w, h, index) {
var myIcon = new BMap.Icon(src, new BMap.Size(w, h), {
anchor: new BMap.Size(10, 10),
imageOffset: new BMap.Size(0, 0 - index * h), // 设置图片偏移
// 设置图片大小
imageSize: new BMap.Size(w, h)
}); return myIcon;
};

JS 百度地图 地图线路描绘的更多相关文章

  1. 百度地图公交线路查询,并绘制到地图上并获取所有路径经纬度点(可供echarts 路径图使用)

    github地址 https://github.com/a1115040996/MyHTML/tree/gh-pages/BDMap 源代码 <!DOCTYPE html PUBLIC &quo ...

  2. JS 百度地图路书---动态路线

    JS 百度地图路书---动态路线 <!DOCTYPE html> <head> <meta http-equiv="Content-Type" con ...

  3. JS 百度地图 换地图主题颜色(自定义)

    JS 百度地图 换地图主题颜色(自定义) 可通过这个在线编辑得到自己想要的主题:https://developer.baidu.com/map/custom/ <div id="all ...

  4. JS 百度地图 换地图主题颜色(API自带)

    JS 百度地图 换地图主题颜色(API自带) <script type="text/javascript" src="http://api.map.baidu.co ...

  5. JS 百度地图-右键菜单

    JS 百度地图-右键菜单 /*-----------------标注右键删除-------------------------*/ var markerMenu = new BMap.ContextM ...

  6. js 百度地图

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. 百度API地图的标注不居中显示,而显示在左上角

    前言:今天弄个百度地图,弄了半天就是不居中,之前使用一直没有遇到这个问题.所以就一直在找原因. 百度地图对地图所在的div做了显示隐藏之类操作,标注就不再居中显示,而显示在左上角. 查了很久,有人提出 ...

  8. 基于vue实现百度离线地图

    基于vue实现百度离线地图 1. 百度地图API文件获取 有网络 的情况下,需引入百度地图API文件.如下: <script type="text/javascript" s ...

  9. ionic 修改应用名称 、启动页出现黑白屏 及 修改百度离线地图 点聚合 图标

    1.ionic 修改应用名称 2.启动页打开后会在图片消失会出现一小段黑屏的时间 解决方法: 首先,启动页的图片消失时间默认是在config.xml配置的 <preference name=&q ...

随机推荐

  1. Vue+MySQL实现购物车的增删改查

    1,创建简单数据库数据表 2,创建Mapper文件 <!--查询商品--> <select id="selectcommodity" resultType=&qu ...

  2. 【ARTS】01_39_左耳听风-201900805~20190811

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  3. iOS-类似微信摇一摇

    首先,一直以为摇一摇的功能实现好高大上,结果百度了.我自己也模仿写了一个demo.主要代码如下: 新建一个项目,名字为AnimationShake. 主要代码: - (void)motionBegan ...

  4. RobotFramework:发现一个大坑,当post接口入参为json时,千万不能用sojson转化后的json串(ride解析会有异常,非sojson工具问题),直接用浏览器粘过来的就行

    问题背景: 和以往一样愉快的进行着自动化测试,突然就不停的提示我,“程序异常”,查看log发现data中的json变为了数组?????? 那算了,我不先组装入参数据直接data=json入参吧,wha ...

  5. vue组件中的驼峰命名和短横线命名

    参考链接:https://www.jianshu.com/p/f12872fc7bfb

  6. hdu 1209 Clock

    Clock Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  7. 转:SLAM算法解析:抓住视觉SLAM难点,了解技术发展大趋势

    SLAM(Simultaneous Localization and Mapping)是业界公认视觉领域空间定位技术的前沿方向,中文译名为“同步定位与地图构建”,它主要用于解决机器人在未知环境运动时的 ...

  8. MakeFile文件是什么——内容、工作原理、作用、使用

    MakeFile文件是什么?它里面包含什么内容.具有什么作用.怎么使用?下面就来具体说说. 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你 ...

  9. pgsql常用操作

    pgsql备份: --进入pgsql容器docker exec -it 容器ID bash --备份pgsql /opt/rh/rh-postgresql95/root/usr/bin/pg_dump ...

  10. kubernetes 部署ingress

    kubernetes Ingess 是有2部分组成,Ingress Controller 和Ingress服务组成,常用的Ingress Controller 是ingress-nginx,工作的原理 ...