根据数据库保存的经纬度在地图上做标注

<!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 { 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
<script src="/js/jquery-1.11.2.min.js"></script>
<title>百度地图</title>
</head>
<body>
<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
map = new BMap.Map("allmap");
//map.centerAndZoom(new BMap.Point(108.707509,34.345373), 15);
map.centerAndZoom('历下区', 14);
map.enableScrollWheelZoom(true);
map.disableDragging(); //禁止拖拽
setTimeout(function(){
map.enableDragging(); //2秒后开启拖拽
//map.enableInertialDragging(); //两秒后开启惯性拖拽
}, 2000);

var data_info = [
<%
if(list!=null && list.size()>0){
for(int i=0;i<list.size();i++){
HashMap mp = list.get(i);
if(mp.get("经度")!=null&&!"".equals(mp.get("纬度")+"")){
out.print("["+mp.get("经度")+","+mp.get("纬度")+",""+mp.get("标题")+"<br/>地址:"+mp.get("地址")+""]");
if((i+1)!=list.size()){
out.print(",");
}
}

}
}
%>

];
var opts = {
width : 250, // 信息窗口宽度
title : "" , // 信息窗口标题
enableMessage:true//设置允许信息窗发送短息
};
for(var i=0;i<data_info.length;i++){
var marker = new BMap.Marker(new BMap.Point(data_info[i][0],data_info[i][1])); // 创建标注
var content = data_info[i][2];
map.addOverlay(marker); // 将标注添加到地图中
addClickHandler(content,marker);
}
function addClickHandler(content,marker){
marker.addEventListener("click",function(e){
openInfo(content,e)}
);
}
function openInfo(content,e){
var p = e.target;
var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
var infoWindow = new BMap.InfoWindow(content,opts); // 创建信息窗口对象
map.openInfoWindow(infoWindow,point); //开启信息窗口
}
</script>

原文地址:https://www.cnblogs.com/hxlj130520/p/13566948.html