1.手动创建数据,实际项目则是接受GPS信息

/建立坐标点:
// lng:经度 lat:纬度
var points = [
{"lng":112.58,"lat":26.89,"url":"http://www.baidu.com","id":1,"name":"p1"},
{"lng":112.59,"lat":26.90,"url":"http://www.mi.com","id":2,"name":"p2"},
{"lng":112.57,"lat":26.88,"url":"http://www.csdn.com","id":3,"name":"p3"}
];

2.创建添加标注点到地图,并为标注点添加点击事件

//创建标注点并添加到地图中
function addMarker(points) {
//循环建立标注点
for(var i=0, pointsLen = points.length; i<pointsLen; i++) {
var point = new BMap.Point(points[i].lng, points[i].lat); //将标注点转化成地图上的点
var marker = new BMap.Marker(point); //将点转化成标注点
map.addOverlay(marker); //将标注点添加到地图上
//添加监听事件
(function() {
var thePoint = points[i];
marker.addEventListener("click",
//显示信息的方法
function() {
showInfo(this,thePoint);
});
})();
}
}

3.编写信息显示方法

function showInfo(thisMarker,point) {
//获取点的信息
var sContent =
'<ul style="margin:0 0 5px 0;padding:0.2em 0">'
+'<li style="line-height: 26px;font-size: 15px;">'
+'<span style="width: 50px;display: inline-block;">id:</span>' + point.id + '</li>'
+'<li style="line-height: 26px;font-size: 15px;">'
+'<span style="width: 50px;display: inline-block;">名称:</span>' + point.name + '</li>'
+'<li style="line-height: 26px;font-size: 15px;"><span style="width: 50px;display: inline-block;">查看:</span><a href="'+point.url+'">详情</a></li>'
+'</ul>';
var infoWindow = new BMap.InfoWindow(sContent); //创建信息窗口对象
thisMarker.openInfoWindow(infoWindow); //图片加载完后重绘infoWindow
}

4.创建地图

//创建地图
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 设置中心点
map.centerAndZoom( "衡阳"); //指定中心城市
map.setCurrentCity("衡阳");
map.addControl(new BMap.MapTypeControl()); //设置可拖拽
map.enableScrollWheelZoom(true); //添加滚轮缩放
addMarker(points); //添加标注
</script>

Tip: 想使用百度地图api需要申请一个ak,申请方法就不介绍了,百度一大堆.

1.5 版本 完整代码(不包括api的ak 需要自己申请):

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
</style>
<script type="text/javascript"
//ak填自己申请的ak
src="http://api.map.baidu.com/api?v=2.0& ak=你申请的AK">
</script>
<title>百度地图api展示</title>
</head>
<body>
<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
//新建三个地图上点
var points = [
{"lng":112.58,"lat":26.89,"url":"http://www.baidu.com","id":1,"name":"p1"},
{"lng":112.59,"lat":26.90,"url":"http://www.mi.com","id":2,"name":"p2"},
{"lng":112.57,"lat":26.88,"url":"http://www.csdn.com","id":3,"name":"p3"}
];
//创建标注点并添加到地图中
function addMarker(points) {
//循环建立标注点
for(var i=0, pointsLen = points.length; i<pointsLen; i++) {
var point = new BMap.Point(points[i].lng, points[i].lat); //将标注点转化成地图上的点
var marker = new BMap.Marker(point); //将点转化成标注点
map.addOverlay(marker); //将标注点添加到地图上
//添加监听事件
(function() {
var thePoint = points[i];
marker.addEventListener("click",
function() {
showInfo(this,thePoint);
});
})();
}
}
function showInfo(thisMarker,point) {
//获取点的信息
var sContent =
'<ul style="margin:0 0 5px 0;padding:0.2em 0">'
+'<li style="line-height: 26px;font-size: 15px;">'
+'<span style="width: 50px;display: inline-block;">id:</span>' + point.id + '</li>'
+'<li style="line-height: 26px;font-size: 15px;">'
+'<span style="width: 50px;display: inline-block;">名称:</span>' + point.name + '</li>'
+'<li style="line-height: 26px;font-size: 15px;"><span style="width: 50px;display: inline-block;">查看:</span><a href="'+point.url+'">详情</a></li>'
+'</ul>';
var infoWindow = new BMap.InfoWindow(sContent); //创建信息窗口对象
thisMarker.openInfoWindow(infoWindow); //图片加载完后重绘infoWindow
}
//创建地图
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 设置中心点
map.centerAndZoom( "衡阳");
map.setCurrentCity("衡阳"); //设置为衡阳
map.addControl(new BMap.MapTypeControl());
map.enableScrollWheelZoom(true);
addMarker(points);
</script>

第二种写法

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>添加标注点-百度地图API</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.5&ak=YWdGplhYjUGQ3GtpKNeuTM2S"></script>
</head> <body>
<style type="text/css">
html{height:100%}
body{height:100%;margin:0 10px;}
#container{height:100%;margin: 20px;}
.info_ul{
margin:0 0 5px 0;
padding:0.2em 0;
}
.info_li{
line-height: 26px;font-size: 15px;
}
.info_span{
width: 50px;display: inline-block;
}
</style>
<div id="container"></div>
<script type="text/javascript">
var map = new BMap.Map("container"); //初始化地图 var points = [
{"lng":116,"lat":40,"url":"http://www.baidu.com","id":50,"name":"p1"},
{"lng":117,"lat":31,"url":"http://www.taobao.com","id":2,"name":"p2"},
{"lng":116,"lat":34,"url":"http://www.qq.com","id":3,"name":"p3"}
];//数据准备 map.centerAndZoom(new BMap.Point(103.388611,35.563611), 5);//设置中心点和显示级别。中国。 map.enableScrollWheelZoom();//滚轮放大缩小。 addMarker(points);//添加标注。 function addMarker(points){ // 创建图标对象
var point,marker;
// 创建标注对象并添加到地图
for(var i = 0,pointsLen = points.length;i <pointsLen;i++){
point = new BMap.Point(points[i].lng,points[i].lat);
marker = new BMap.Marker(point);
map.addOverlay(marker);
//给标注点添加点击事件。使用立即执行函数和闭包
(function() {
var thePoint = points[i];
marker.addEventListener("click",function(){
showInfo(this,thePoint);
});
})();
}
} //显示信息窗口,显示标注点的信息。
function showInfo(thisMaker,point){
var sContent =
'<ul class="info_ul">'
+'<li class="info_li">'
+'<span class="info_span">id:</span>' + point.id + '</li>'
+'<li class="info_li">'
+'<span class="info_span">名称:</span>' + point.name + '</li>'
+'<li class="info_li"><span class="info_span">查看:</span><a href="'+point.url+'" target="_blank">详情</a></li>'
+'</ul>';
var infoWindow = new BMap.InfoWindow(sContent);// 创建信息窗口对象
thisMaker.openInfoWindow(infoWindow);//图片加载完毕重绘infowindow
} </script>
</body>
</html>

1.2版本和1.5版本通用,但是不用申请ak

<!doctype html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>Baidu Map</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2&services=true">
</script>
</head>
<body>
<div id="container" style="width: 800px; height: 600px;">
</div>
</body>
</html>
<script type="text/javascript"> var map = new BMap.Map("container"); //初始化地图 var points = [
{ "lng": 121.653872, "lat": 38.928724, "url": "http://www.baidu.com", "id": 1, "name": "麦当劳" },
{ "lng": 121.653234, "lat": 38.928604, "url": "http://www.taobao.com", "id": 2, "name": "天天鱼巷" },
{ "lng": 121.64576, "lat": 38.929096, "url": "http://www.qq.com", "id": 3, "name": "好利来" },
{ "lng": 121.654402, "lat": 38.926787, "url": "http://www.qq.com", "id": 4, "name": "金铭烤肉" },
{ "lng": 121.647629, "lat": 38.927369, "url": "http://www.qq.com", "id": 5, "name": "嘉禾粥道" },
{ "lng": 121.646667, "lat": 38.925264, "url": "http://www.qq.com", "id": 6, "name": "彤德莱" },
{ "lng": 121.644799, "lat": 38.928085, "url": "http://www.qq.com", "id": 7, "name": "鼎香橼自助" },
{ "lng": 121.646209, "lat": 38.929818, "url": "http://www.qq.com", "id": 3, "name": "风情丽江斑鱼火锅" }
];//数据准备 map.centerAndZoom(new BMap.Point(121.650467, 38.927376), 16);//设置中心点和显示级别。中国。 map.enableScrollWheelZoom();//滚轮放大缩小。 addMarker(points);//添加标注。 function addMarker(points){ // 创建图标对象
var point,marker;
// 创建标注对象并添加到地图
for(var i = 0,pointsLen = points.length;i <pointsLen;i++){
point = new BMap.Point(points[i].lng,points[i].lat);
marker = new BMap.Marker(point);
map.addOverlay(marker);
//给标注点添加点击事件。使用立即执行函数和闭包
(function() {
var thePoint = points[i];
marker.addEventListener("click",function(){
showInfo(this,thePoint);
});
})();
}
} //显示信息窗口,显示标注点的信息。
function showInfo(thisMaker,point){
var sContent =
'<ul class="info_ul">'
+'<li class="info_li">'
+'<span class="info_span">id:</span>' + point.id + '</li>'
+'<li class="info_li">'
+'<span class="info_span">名称:</span>' + point.name + '</li>'
+'<li class="info_li"><span class="info_span">查看:</span><a href="'+point.url+'" target="_blank">详情</a></li>'
+'</ul>';
var infoWindow = new BMap.InfoWindow(sContent);// 创建信息窗口对象
thisMaker.openInfoWindow(infoWindow);//图片加载完毕重绘infowindow
} </script>

百度地图API 添加标签的更多相关文章

  1. 百度地图api添加自定义控件

    官网栗子:http://lbsyun.baidu.com/jsdemo.htm#b0_6 <!DOCTYPE html><html><head> <meta ...

  2. 百度地图API多个点聚合时,标注添加的标签label地图刷新就丢失的问题解决

    当将自定义的Marker(含有Label)通过MarkerClusterer 管理的时候,当地图发生任何移动.缩放 的时候,Marker 的Label 就会自动消失. 这个问题主要是由于百度的点聚合A ...

  3. 【百度地图API】——如何用label制作简易的房产标签

    原文:[百度地图API]--如何用label制作简易的房产标签 摘要: 最近,API爱好者们纷纷说,自定义marker太复杂了!不仅定义复杂,连所有的dom事件都要自己重新定义.有没有快速简易创建房产 ...

  4. 【百度地图API】建立全国银行位置查询系统(三)——如何在地图上添加银行标注

    原文:[百度地图API]建立全国银行位置查询系统(三)--如何在地图上添加银行标注 <摘要>你将在第三章中学会以下知识: 如何在地图上添加带银行logo的标注?(你也可以换成商场logo, ...

  5. 【百度地图API】建立全国银行位置查询系统(二)——怎样为地图添加控件

    原文:[百度地图API]建立全国银行位置查询系统(二)--怎样为地图添加控件 <摘要>你将在第二章中学会以下知识: 使用手写代码的利器——notepad++: 如何为地图添加控件——鱼骨. ...

  6. 百度地图API,展示地图和添加控件

    1.申请百度账号和AK 点我申请 2.准备页面 根据HTML标准,每一份HTML文档都应该声明正确的文档类型,我们建议您使用最新的符合HTML5规范的文档声明: <!DOCTYPE html&g ...

  7. 百度地图API 批量添加 带检索功能的信息窗口

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

  8. 百度地图API显示多个标注点并添加百度样式检索窗口

    原作者博客地址:http://blog.csdn.net/a497785609/article/details/24009031 在此基础上进行了修改: 1.添加闭包,将i传入内部 2.添加地图和卫星 ...

  9. 百度地图API示例之添加/删除工具条、比例尺控件

    代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" cont ...

随机推荐

  1. 怎样给UINavigationBar加入button?

    Mads Mobæk:给UINavigationBar加入button的演示样例代码 1 2 3 4 5 6 7 8 UIBarButtonItem *rightButton = [[UIBarBut ...

  2. leetcode -day23 Construct Binary Tree from Inorder and Postorder Traversal &amp; Construct Binary Tree f

    1.  Construct Binary Tree from Inorder and Postorder Traversal Given inorder and postorder travers ...

  3. 如何测试WCF Rest

    使用SoapUI 1.新建一个rest项目 2.双击上图中的Request1 查询的时候,Method选择post resource的地方要调整到对应的方法 查询的内容是用json格式发送 查询的的结 ...

  4. google浏览器修改网页字符编码

    google浏览器修改网页字符编码 直接在google浏览器的应用拓展程序里面搜 Charset,第一个就是 于是就有了

  5. HTML <button> 标签

    HTML <button> 标签 目标 实现点击button跳转到一个新的界面 参考文档 实例 以下代码标记一个按钮: <button type="button" ...

  6. MySQL Server 5.5.44免安装版配置详解

    转载地址:http://wenku.baidu.com/view/2a8bfe6a25c52cc58bd6beff.html### 一 下载MySQL http://dev.mysql.com/dow ...

  7. OPENCV(6) —— 角点检测

    图像特征的类型通常指边界.角点(兴趣点).斑点(兴趣区域).角点就是图像的一个局部特征,应用广泛.harris角点检测是一种直接基于灰度图像的角点提取算法,稳定性高,尤其对L型角点检测精度高,但由于采 ...

  8. 分享《Python 游戏编程快速上手(第3版)》高清中文版PDF+高清英文版PDF+源代码

    通过编写一个个小巧.有趣的游戏来学习Python,通过实例来解释编程的原理的方式.14个游戏程序和示例,介绍了Python基础知识.数据类型.函数.流程控制.程序调试.流程图设计.字符串操作.列表和字 ...

  9. 如何更新 CentOS 镜像源

    话不多说, 直接上教程. 首先备份/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.rep ...

  10. 今日SGU 5.16

    SGU 119 题意:给你N.A0.B0,然后问所有X.Y,若A0X+B0Y能被N整除,则AX+BY也能被N整除,求所有的A.B.(0<=A.B<N) 收获:枚举 因为a0x+b0y=k1 ...