百度地图 JSP API

时间:2024-06-01 07:27:08

最近在研究百度地图JSP API 将之记录下来方便以后查阅

首先调用百度地图API要注册一个百度账号 。

登录后

百度地图 JSP API



点击创建应用

百度地图 JSP API


创建完成后

百度地图 JSP API


百度地图 JSP API

查看API 进行开发 或者

查看示例DEMO

因为很多在示例demo里面写好,所以只需要根据自己需要进行改写或者整合就可以了


<!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{
width: 100%;
height: 100%;
}
#allmap {width: 100%;height: 80%;overflow: hidden;margin:0;font-family:"微软雅黑";}
#r-result {width:100%;height:300px;}
#r-result1 {width:100%;height:300px;}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak="创建应用的AK""></script>
<title>地图展示</title>
</head>
<body>
<div id="allmap"></div>
<div id="r-result"></div><div id="r-result1"></div>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
var map = new BMap.Map("allmap");    // 创建Map实例
map.centerAndZoom(new BMap.Point(120.750859,31.280026), 17);  //以学校为中心


var SchoolPoint = new BMap.Point(120.750859,31.280026);
var HousePoint = new BMap.Point(120.75739,31.275752);
var markerSchool= addMarker(SchoolPoint);
var markerHouse=addMarker(HousePoint);
// 编写自定义函数,创建标注
function addMarker(point){
  var marker = new BMap.Marker(point);
  map.addOverlay(marker);
  return marker;
}
  
//添加地图类型控件
map.addControl(new BMap.MapTypeControl({
mapTypes:[
            BMAP_NORMAL_MAP,
            BMAP_HYBRID_MAP
        ]}));   
  //
  //为学校点设置信息
  var opts = {
  width : 200,     // 信息窗口宽度
  height: 100,     // 信息窗口高度
  title : "" , // 信息窗口标题
  enableMessage:true,//设置允许信息窗发送短息
  message:""
}
  //学校点点击信息
var infoWindow1 = new BMap.InfoWindow("地址:苏州市吴中区林泉街567号", opts); 
markerSchool.addEventListener("click", function(){          
map.openInfoWindow(infoWindow1,SchoolPoint); //开启信息窗口
});

//宿舍点点击信息
var infoWindow2 = new BMap.InfoWindow("地址:苏州市姑苏区林泉街370号", opts); 
markerHouse.addEventListener("click", function(){          
map.openInfoWindow(infoWindow2,HousePoint); //开启信息窗口
});






//逆地址解析
var geoc = new BMap.Geocoder();    


map.addEventListener("click", function(e){        
var pt = e.point;
geoc.getLocation(pt, function(rs){
var addComp = rs.addressComponents;
alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
});        
});


 //比例尺
map.addControl(new BMap.ScaleControl());   




//缩略图
map.addControl(new BMap.OverviewMapControl()); 






//定位
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){

var marker = new BMap.Marker(r.point);  // 创建标注
map.addOverlay(marker);               // 将标注添加到地图中 ,跳动的点
marker.setAnimation(BMAP_ANIMATION_BOUNCE);
}
else {
alert('failed'+this.getStatus());
}        

});






  // 添加带有定位的导航控件
  var navigationControl = new BMap.NavigationControl({
    // 靠右下角位置
    anchor: BMAP_ANCHOR_BOTTOM_RIGHT,
    // LARGE类型
    type: BMAP_NAVIGATION_CONTROL_LARGE,
    // 启用显示定位
    enableGeolocation: true
  });
  map.addControl(navigationControl);


/*//添加行政区划
function getBoundary(){       
var bdary = new BMap.Boundary();
bdary.get("苏州市吴中区", function(rs){       //获取行政区域
map.clearOverlays();        //清除地图覆盖物       
var count = rs.boundaries.length; //行政区域的点有多少个
if (count === 0) {
alert('未能获取当前输入行政区域');
return ;
}
          var pointArray = [];
for (var i = 0; i < count; i++) {
var ply = new BMap.Polygon(rs.boundaries[i], {strokeWeight: 2, strokeColor: "#ff0000"}); //建立多边形覆盖物
map.addOverlay(ply);  //添加覆盖物
pointArray = pointArray.concat(ply.getPath());
}    
map.setViewport(pointArray);    //调整视野  
addlabel();               
});   
}


setTimeout(function(){
getBoundary();
}, 2000);
*/








/*//查询公交,地铁线路
var busline = new BMap.BusLineSearch(map,{
renderOptions:{map:map,panel:"r-result"},
onGetBusListComplete: function(result){
   if(result) {
var fstLine = result.getBusListItem(0);//获取第一个公交列表显示到map上
busline.getBusLine(fstLine);
   }
}
});
function busSearch(){
var busName = 228;
busline.getBusList(busName);
}*/


//公交换乘
var transit = new BMap.TransitRoute(map, {
renderOptions: {map: map}
});
transit.search(SchoolPoint, HousePoint);


map.addControl(new BMap.MapTypeControl());   
map.setCurrentCity("苏州");      // 设置地图显示的城市 此项是必须设置的
map.enableScrollWheelZoom(true);  //开启鼠标滚轮缩放


//步行规划
/*var walking = new BMap.WalkingRoute(map, {renderOptions:{map: map, autoViewport: true}});
walking.search(SchoolPoint, HousePoint);*/


//步行规划线路
var walking = new BMap.WalkingRoute(map, {renderOptions: {map: map, panel: "r-result", autoViewport: true}});
walking.search(SchoolPoint, HousePoint);


//车规划线路
var transit = new BMap.DrivingRoute(map, {
renderOptions: {
map: map,
panel: "r-result1",
enableDragging : true //起终点可进行拖拽
},  
});
transit.search(SchoolPoint,HousePoint);
 
 
 
 
 
 
map.enableInertialDragging();
//设置城市列表
var size = new BMap.Size(10, 20);
map.addControl(new BMap.CityListControl({
    anchor: BMAP_ANCHOR_TOP_LEFT,
    
  /*  BMAP_ANCHOR_TOP_LEFT 表示控件定位于地图的左上角
BMAP_ANCHOR_TOP_RIGHT 表示控件定位于地图的右上角
BMAP_ANCHOR_BOTTOM_LEFT 表示控件定位于地图的左下角
BMAP_ANCHOR_BOTTOM_RIGHT 表示控件定位于地图的右下角*/


    offset: size,
    
    // 切换城市之间事件
    // onChangeBefore: function(){
    //    alert('before');
    // },
    // 切换城市之后事件
    // onChangeAfter:function(){
    //   alert('after');
    // }
}));

</script>

百度地图 JSP API

由于本人晕地图随手写了一点,方便以后查阅,有需要的朋友可以根据API文档或者示例DEMO进行开发;