JS 百度地图 地图线路描绘
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 百度地图 地图线路描绘的更多相关文章
- 百度地图公交线路查询,并绘制到地图上并获取所有路径经纬度点(可供echarts 路径图使用)
github地址 https://github.com/a1115040996/MyHTML/tree/gh-pages/BDMap 源代码 <!DOCTYPE html PUBLIC &quo ...
- JS 百度地图路书---动态路线
JS 百度地图路书---动态路线 <!DOCTYPE html> <head> <meta http-equiv="Content-Type" con ...
- JS 百度地图 换地图主题颜色(自定义)
JS 百度地图 换地图主题颜色(自定义) 可通过这个在线编辑得到自己想要的主题:https://developer.baidu.com/map/custom/ <div id="all ...
- JS 百度地图 换地图主题颜色(API自带)
JS 百度地图 换地图主题颜色(API自带) <script type="text/javascript" src="http://api.map.baidu.co ...
- JS 百度地图-右键菜单
JS 百度地图-右键菜单 /*-----------------标注右键删除-------------------------*/ var markerMenu = new BMap.ContextM ...
- js 百度地图
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 百度API地图的标注不居中显示,而显示在左上角
前言:今天弄个百度地图,弄了半天就是不居中,之前使用一直没有遇到这个问题.所以就一直在找原因. 百度地图对地图所在的div做了显示隐藏之类操作,标注就不再居中显示,而显示在左上角. 查了很久,有人提出 ...
- 基于vue实现百度离线地图
基于vue实现百度离线地图 1. 百度地图API文件获取 有网络 的情况下,需引入百度地图API文件.如下: <script type="text/javascript" s ...
- ionic 修改应用名称 、启动页出现黑白屏 及 修改百度离线地图 点聚合 图标
1.ionic 修改应用名称 2.启动页打开后会在图片消失会出现一小段黑屏的时间 解决方法: 首先,启动页的图片消失时间默认是在config.xml配置的 <preference name=&q ...
随机推荐
- C++11消息队列 + Qt线程池 + QRunnable执行任务简单模型
1.模板类queue,包含头文件<queue>中,是一个FIFO队列. queue.push():在队列尾巴增加数据 queue.pop():移除队列头部数据 queue.font():获 ...
- Python使用设计模式中的责任链模式与迭代器模式的示例
Python使用设计模式中的责任链模式与迭代器模式的示例 这篇文章主要介绍了Python使用设计模式中的责任链模式与迭代器模式的示例,责任链模式与迭代器模式都可以被看作为行为型的设计模式,需要的朋友可 ...
- PYTHON指定国内PIP源
一.LINUX: vi ~/.pip/pip.conf 输入内容: [global]index-url = http://pypi.douban.com/simple/[install]trusted ...
- 超级块,i节点,数据块,目录块,间接块
一.物理磁盘到文件系统 文件系统用来存储文件内容,文件属性,和目录,这些类型的数据如何存储在磁盘块上的呢?Unix/linux使用了一个简单的方法. 他将磁盘分为3个部分: 超级块,文件系统中第一个块 ...
- golang 切片和map查询比较
package main import ( "fmt" "time" ) var testTimeSlice = []string{"aa" ...
- 记:联调安卓设备的神药-无需usb数据线即可直连
前言 最近需要调试公司的安卓服务,正常情况下,我们调试都是减安卓设备通过usb连接在我们座位旁,再不济就是我们扛笔记本到硬件旁边,这样调试屡试不爽,但是有一天你突然发现你带的数据线因为各种原因总是终端 ...
- Spring 设计模式之责任链模式
[应用] 以下是一段代码,Spring MVC 的 diapatcherServlet 的 doDispatch 方法中,获取与请求匹配的处理器(HandlerExecutionChain) getH ...
- 数据库相关概念讲解(java)
1.常用类或接口介绍 1.DataSource接口 通过javaAPI中javax.sql.DataSource接口注释了解. 1.DataSource功能 如下图: 翻译: DataSource对象 ...
- MySQL Sakila示例数据库
Table of Contents 1 Preface and Legal Notices 2 Introduction 3 History 4 Installation 5 Structure ...
- python 虚拟环境 venv 简单用法
Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替Python之前的virtualenv.该venv模块提供了创建轻量级“虚拟环境”,提供与系统Python的隔离支持.每一个虚拟环 ...