<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>百度地图API显示多个标注点带提示的代码</title>
<!--css-->
<link href="style/demo.css" rel="stylesheet" type="text/css" />
<!--javascript-->
<script src="js/jquery-1.9.1.js" type="text/javascript"></script>
<script src="scripts/demo.js" type="text/javascript"></script>
<script type="text/javascript" src="js/xlsx.core.min.js"></script>
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
</head>
<body>
<div class="demo_main">
<fieldset class="demo_title">
百度地图API显示多个标注点带提示的代码
</fieldset>
<fieldset class="demo_content">
<div style="min-height: 640px; width: 100%;" id="map">
</div>
<script type="text/javascript">
$(function () {
$('#excel-file').change(function (e) {
var files = e.target.files;
var fileReader = new FileReader();
fileReader.onload = function (ev) {
try {
var data = ev.target.result,
workbook = XLSX.read(data, {
type: 'binary'
}), // 以二进制流方式读取得到整份excel表格对象
persons = []; // 存储获取到的数据
} catch (e) {
console.log('文件类型不正确');
return;
}
// 表格的表格范围,可用于判断表头是否数量是否正确
var fromTo = '';
// 遍历每张表读取
for (var sheet in workbook.Sheets) {
if (workbook.Sheets.hasOwnProperty(sheet)) {
fromTo = workbook.Sheets[sheet]['!ref']; // output: A1:D5
if (fromTo[0] === 'A' && fromTo[3] === 'D') {//一共4列数据
persons = persons.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));
break;//只取第一个Sheets
}
}
}
//print_data(persons);
console.log("=============================");
console.log(persons[0].time);
//markerArr = persons;
//console.log(markerArr[0]);
map_init(persons);
};
fileReader.readAsBinaryString(files[0]);// 以二进制方式打开文件
});
});
//处理格式化后的json数据
function print_data(data) {
$.each(data, function (key, val) {
console.log(val.表头1);
$.each(val, function (k, v) {
console.log(k + " -> " + v);
});
});
var output = JSON.stringify(data, 2, 2);
document.getElementById('out').innerText = output;
}
function map_init(markerArr) {
var map = new BMap.Map("map"); // 创建Map实例
var point = new BMap.Point(116.404, 39.915); //地图中心点,北京市
map.centerAndZoom(point, 13); // 初始化地图,设置中心点坐标和地图级别。
map.enableScrollWheelZoom(true); //启用滚轮放大缩小
map.setCurrentCity("北京"); // 设置地图显示的城市 此项是必须设置的
//向地图中添加缩放控件
var ctrlNav = new window.BMap.NavigationControl({
anchor: BMAP_ANCHOR_TOP_LEFT,
type: BMAP_NAVIGATION_CONTROL_LARGE
});
map.addControl(ctrlNav);
//向地图中添加缩略图控件
var ctrlOve = new window.BMap.OverviewMapControl({
anchor: BMAP_ANCHOR_BOTTOM_RIGHT,
isOpen: 1
});
map.addControl(ctrlOve);
//向地图中添加比例尺控件
var ctrlSca = new window.BMap.ScaleControl({
anchor: BMAP_ANCHOR_BOTTOM_LEFT
});
map.addControl(ctrlSca);
var point = new Array(); //存放标注点经纬信息的数组
var marker = new Array(); //存放标注点对象的数组
var info = new Array(); //存放提示信息窗口对象的数组
for (var i = 0; i < markerArr.length; i++) {
console.log(markerArr[i]);
var p0 = markerArr[i].longitude; //
var p1 = markerArr[i].latitude; //按照原数组的point格式将地图点坐标的经纬度分别提出来
point[i] = new window.BMap.Point(p0, p1); //循环生成新的地图点
marker[i] = new window.BMap.Marker(point[i]); //按照地图点坐标生成标记
map.addOverlay(marker[i]);
//marker[i].setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
var label = new window.BMap.Label(markerArr[i].number, { offset: new window.BMap.Size(20, -10) });
marker[i].setLabel(label);
info[i] = new window.BMap.InfoWindow("<p style=’font-size:12px;lineheight:1.8em;’>" + markerArr[i].time + "</br>地址:" + markerArr[i].number + "</br> 电话:" + markerArr[i].latitude + "</br></p>"); // 创建信息窗口对象
}
marker[0].addEventListener("mouseover", function () {
this.openInfoWindow(info[0]);
});
marker[1].addEventListener("mouseover", function () {
this.openInfoWindow(info[1]);
});
marker[2].addEventListener("mouseover", function () {
this.openInfoWindow(info[2]);
});
}
//异步调用百度js
function map_load() {
var load = document.createElement("script");
load.src = "http://api.map.baidu.com/api?v=2.0&callback=map_init";
document.body.appendChild(load);
}
window.onload = map_load;
</script>
</fieldset>
</div>
</body>
<p><input type="file" id="excel-file"> click here to select a file</p>
</html>
没有合适的资源?快使用搜索试试~ 我知道了~
百度地图API,可将EXCEL里的坐标点显示到地图上
共7个文件
js:5个
html:1个
css:1个
5星 · 超过95%的资源 需积分: 41 123 下载量 183 浏览量
2018-05-17
20:49:31
上传
评论 8
收藏 257KB RAR 举报
温馨提示
可将EXCEL里的经纬度坐标点显示到地图上。表格经纬度所在列数需自己改
资源推荐
资源详情
资源评论
收起资源包目录
excelWithApi.rar (7个子文件)
excelWithApi
style
demo.css 364B
js
xlsx.full.min.js 27B
xlsx.core.min.js 446KB
require.js 84KB
jquery-1.8.3.min.js 91KB
jquery-1.9.1.js 262KB
excelWithApi.html 7KB
共 7 条
- 1
资源评论
- qq_394667502020-11-10请问怎么导入excel数据?
- JoiChen2020-05-20不能用啊,怎么回事
- meowoo2020-04-15你好,求助一下,这个Excel的格式是什么呢?没有找到excel数据模板photographyCat2020-05-07没有固定格式,只需数据包含经纬度坐标
- 我在北京写代码2019-11-05挺好使用的
- qq_234306692019-05-30挺好使用的
photographyCat
- 粉丝: 17
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功