百度地图【上】

百度地图【javaweb版的】上
这个花了我好长的时间,整理一下,以后还可以看看~
1.第一步:标注
从数据库中取出来我想要的信息,如下

  • devX devY No
  • x坐标 y坐标 编号
    定点就要取坐标这很好理解。
    由于博主我自己是用SSH框架的 。
    1.1响应的数据库语句如下:
String hql="select a.No,a.devX,a.devY from AL as a ";

用list来存放:

try{
List list=(List)this.find(hql);
if(!list.isEmpty())
return list;
return null;
}catch(Exception e){
e.printStackTrace();
return null;
}

从后台拿到的list要用jsonarray传到前端
再用ajax接收。
jsonArray和list的转换也是一个有意思的点,可以拓展一下~。
1.2Ajax

``
$.ajax({
type:"POST";
url:url;//对应的action拿到jsonarray
data={},
dataType:"json",
//注意 这里的jsonArray是一个二维数组
success: function(jsonArray){
for(var i=0;ivar p0=jsonArray[i][0];//x坐标
var p1=jsonArray[i][1];//y坐标
var No=jsonArray[i][2];//编号
var point =new BMap.Point(p0,p1);//利用百度api标注的功能找到标注点
var marker=new BMap.Marker(point);//创建默认标注
}
},fail:function(){
alert("error");
}
});```

这样我们就把数据库中的点标注在了地图上
这里写图片描述
2.然而我的标注需要添一点东西:我希望把默认标注上方贴上我的号码。
like this:这里写图片描述
其实很简单:加个文本框就行了
代码如下:

var myLabel=new BMap.Marker(No,{offset: new BMap.Size()});//文本框的内容编号,偏移量
myLabel.setStyle{background:""}//设置背景颜色
marker.setLabel(myLabel);

是不是很简单呢~
2.说标注就必说信息窗口
关于信息窗口 大家去看百度apihttp://developer.baidu.com/map/jsdemo.htm#c2_3就可以 很详细

你可能感兴趣的:(javaweb)