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. python读取csv文件、excel文件并封装成dict类型的list,直接看代码

    # coding=UTF-8import csvimport xlrd class ReaderFile(): """ 读取csv文件 filePath:文件路径 &qu ...

  2. Delphi下Treeview控件基于节点编号的访问1

    有时我们需要保存和重建treeview控件,本文提供一种方法,通过以树结构节点的编号访问树结构,该控件主要提供的方法如下:      function GetGlobeNumCode(inNode:T ...

  3. 从成员函数指针生成可调用对象:function<>、mem_fn()和bind()

    我们知道,普通函数指针是一个可调用对象,但是成员函数指针不是可调用对象.因此,如果我们想在一个保存string的vector中找到第一个空string,不能这样写: vector<string& ...

  4. Cas(01)——简介

    Cas的全称是Centeral Authentication Service,是对单点登录SSO(Single Sign On)的一种实现.其由Cas Server和Cas Client两部分组成,C ...

  5. Android Monkey压力测试(转)

    参考链接:https://www.cnblogs.com/yyh8/p/6707745.html Monkey 是Android SDK提供的一个命令行工具, 可以简单,方便地运行在任何版本的Andr ...

  6. Python(1)自动发送邮件

    python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用.smtplib模块主要负责发送邮件,email模块主要负责构造邮件. sm ...

  7. 解决 Ceph v14.2.1 RGW使能压缩时遇到不生效的问

    根据常规方法部署Ceph(14.2.1 or 14.2.2)集群+rgw后,通过命令“radosgw-admin zone placement modify --rgw-zone=default -- ...

  8. 最新 三六零java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.三六零等10家互联网公司的校招Offer,因为某些自身原因最终选择了三六零.6.7月主要是做系统复习.项目复盘.LeetCo ...

  9. iframe里访问父级里的方法属性

    window.parent.attributeName;  // 访问属性attributeName是在父级窗口的属性名 window.parent.Func();  // 访问属性Func()是在父 ...

  10. HDMI/DVI 显示器热插拔与检测原理(HPD)

    HDMI(19Pin)/DVI(16 pin)的功能是热插拔检测(HPD),这个信号将作为主机系统是否对HDMI/DVI是否发送TMDS信号的依据.HPD是从显示器输出送往计算机主机的一个检测信号.热 ...