html百度地图跳动标注,trajectory.html
html,
body,
#baiduMap {
width: 100%;
height: 100%;
margin: 0px;
padding: 0px;
overflow: hidden;
}
// 创建假数据
var pointArr = [{
"lng": 121.324695,
"lat": 31.218586
}, {
"lng": 121.325162,
"lat": 31.216309
}, {
"lng": 121.328432,
"lat": 31.216649
}, {
"lng": 121.341341,
"lat": 31.218332
}, {
"lng": 121.349758,
"lat": 31.218131
}, {
"lng": 121.35451,
"lat": 31.216131
}, {
"lng": 121.355916,
"lat": 31.215767
}, {
"lng": 121.359815,
"lat": 31.215419
}, {
"lng": 121.363381,
"lat": 31.215079
}, {
"lng": 121.363336,
"lat": 31.21511
}, {
"lng": 121.36277,
"lat": 31.220283
}, {
"lng": 121.362222,
"lat": 31.224413
}, {
"lng": 121.361692,
"lat": 31.226583
}, {
"lng": 121.365115,
"lat": 31.226397
}, {
"lng": 121.367778,
"lat": 31.226145
}, {
"lng": 121.371236,
"lat": 31.225774
}, {
"lng": 121.371174,
"lat": 31.22362
}];
//在指定容器创建地图实例并设置最大最小缩放级别
var map = new BMap.Map("baiduMap", {
minZoom: 5,
maxZoom: 19
});
// 初始化地图,设置中心点和显示级别
map.centerAndZoom(new BMap.Point(116.404, 39.915), 15);
// 开启鼠标滚轮缩放功能,仅对PC上有效
map.enableScrollWheelZoom();
// 将控件(平移缩放控件)添加到地图上
map.addControl(new BMap.NavigationControl());
// 地图定位到第一个点,显示级别为15
map.centerAndZoom(pointArr[0], 15);
// 使用浏览器的矢量图制图工具,在地图上绘制折线的地图叠加层
var polyline = new BMap.Polyline(pointArr, {
strokeColor: "#0C8816",
strokeWeight: 3,
setStrokeStyle: "dashed",
strokeOpacity: 1
});
// 将覆盖物(线)添加到地图上
map.addOverlay(polyline);
//
for (var i = 0, j = pointArr.length; i < j; i++) {
var myIcon;
if (i == 0) {
myIcon = new BMap.Icon("images/start.png", new BMap.Size(32, 32), {
// 指定定位位置
offset: new BMap.Size(10, 32),
});
} else if (i == pointArr.length - 1) {
myIcon = new BMap.Icon("images/end.png", new BMap.Size(32, 32), {
// 指定定位位置
offset: new BMap.Size(32, 32),
});
} else {
myIcon = new BMap.Icon("images/transparent.png", new BMap.Size(32, 32), {
// 指定定位位置
offset: new BMap.Size(32, 32),
});
};
var marker = new BMap.Marker(pointArr[i], {
icon: myIcon
});
map.addOverlay(marker);
};
//根据经纬极值计算绽放级别。
function getZoom(maxLng, minLng, maxLat, minLat) {
// 级别18到3。
var zoom = ["50", "100", "200", "500", "1000", "2000", "5000", "10000", "20000", "25000", "50000", "100000", "200000", "500000", "1000000", "2000000"];
// 创建点坐标A
var pointA = new BMap.Point(maxLng, maxLat);
// 创建点坐标B
var pointB = new BMap.Point(minLng, minLat);
//获取两点距离,保留小数点后两位
var distance = map.getDistance(pointA, pointB).toFixed(1);
for (var i = 0, zoomLen = zoom.length; i < zoomLen; i++) {
if (zoom[i] - distance > 0) {
//之所以会多3,是因为地图范围常常是比例尺距离的10倍以上。所以级别会增加3。
return 18 - i + 3;
}
}
};
// 判断最大和最小经纬度
function setZoom(points) {
if (points.length > 0) {
var maxLng = points[0].lng;
var minLng = points[0].lng;
var maxLat = points[0].lat;
var minLat = points[0].lat;
var res;
for (var i = points.length - 1; i >= 0; i--) {
res = points[i];
if (res.lng > maxLng) maxLng = res.lng;
if (res.lng < minLng) minLng = res.lng;
if (res.lat > maxLat) maxLat = res.lat;
if (res.lat < minLat) minLat = res.lat;
}
var cenLng = (parseFloat(maxLng) + parseFloat(minLng)) / 2;
var cenLat = (parseFloat(maxLat) + parseFloat(minLat)) / 2;
var zoom = getZoom(maxLng, minLng, maxLat, minLat);
map.centerAndZoom(new BMap.Point(cenLng, cenLat), zoom);
} else {
//没有坐标,显示全中国
map.centerAndZoom(new BMap.Point(103.388611, 35.563611), 5);
}
};
setZoom(pointArr);
一键复制
编辑
Web IDE
原始数据
按行查看
历史
html百度地图跳动标注,trajectory.html相关推荐
- 百度地图,标注不在中心位置问题
百度地图,标注不在中心位置问题 今天用百度地图,做一个效果根据后台传输过来的位置坐标,显示并标注.不知道为什么百度地图老是偏离标注位置一个屏幕. 这是点击查看位置时的效果 如图: 这个和我想的跑偏了十 ...
- 基于JDBC从数据库中读取数据,在百度地图批量标注地点
基于JDBC从数据库中读取数据,在百度地图批量标注地点 一.相关技术 JSP,JDBC,JSON,JS,百度地图API 二.基于JDBC从数据库读取数据 见"JSP基于JDBC操作MSSQL ...
- 百度地图多标注显示以及自定义图标
** 百度地图多标注显示以及自定义图标 ** 效果图: HTML部分 <style>*{margin:0px;padding:0px} html{font-size: 100%;} bod ...
- 百度地图自定义标注点
百度地图自定义标注点 //创建点 var point = new BMap.Point(109.49926175379778, 36.60449676862417); //创建自定义标 //参数1:自 ...
- 地图标注源码 php,jQuery百度地图自定义标注信息代码
jQuery百度地图自定义标注信息代码是一款简单实用的百度地图api标注联系地址名称电话等信息代码. new BaiduMap({ id: "container2", title: ...
- 百度地图 php,php+js实现百度地图多点标注的方法
本文实例讲述了php+js实现百度地图多点标注的方法.分享给大家供大家参考,具体如下: 1.php创建json数据 $products = $this->product_db->selec ...
- 移动端百度地图多点标注php,PHP学习:php+js实现百度地图多点标注的方法
<PHP学习:php+js实现百度地图多点标注的方法>要点: 本文介绍了PHP学习:php+js实现百度地图多点标注的方法,希望对您有用.如果有疑问,可以联系我们. PHP教程 PHP教程 ...
- 怎样在百度地图上标注上自己公司的名称使别人能在搜索百度地图的同时在地图上能看见本公司地址?
怎样在百度地图上标注上自己公司的名称使别人能在搜索百度地图的同时在地图上能看见本公司地址? 百度地图 分享到: 专业回答 飞花SEO 团队 光娟娟 2015-04-25 13:00 1.注册 ...
- 百度地图拖动标注后获取坐标
本来想用图吧的API来做的,结果弄了下,在手机上弄不了.换用百度地图了..本功能个人觉得在很多地方用到,先记下来,省得每次都得翻地图API文档一点一点弄. 功能表现为: 地图一开始打开就定位到你的附近 ...
最新文章
- Ubuntu中如何使得程序在后台运行
- Kaggle 数据挖掘比赛经验分享 (转载)
- luoguP4206 [NOI2005]聪聪与可可 期望概率DP
- 在线教育音视频技术探索与应用
- 《TCP/IP详解卷1》学习小结(一)------链接层
- 表达式求值详解(C++)
- redis php web管理,redis web界面管理工具 phpredisadmin
- ndows 内存诊断工具,Windows自带内存诊断工具来帮你检测电脑内存的稳定
- macos sierra_如何在macOS Sierra中恢复“剩余电池时间”
- stm32使用cubemx生成HAL库工程驱动mlx90614
- NotePad++安装HEX-Editor插件
- world标题是大写数字,题注要阿拉伯数字,交叉引用不会出错
- 地鼠宝宝的轶事奇闻之线程模型
- Matlab 多维标度,详解多维标度法(MDS,Multidimensional scaling)
- 兴趣社区圈子论坛系统搭建教程,教你上线自己的论坛圈子系统。
- jQuery+html5音乐网站mp3播放器代码
- 便利蜂智能制作策略平台的探索与实践
- D17-读论文D17算法D17-复习
- CSS 实现七彩圆环loading动画
- [ZJOI] 物流运输